public class MyList{
private Object[] data;
private int index=0;
public MyList(int size){
data=new Object[size];
}
private void expand(){
Object[] data2=new Object[data.length*2];
System.arraycopy(data,0,data2,0,data.length);
data=data2;
}
public void add(Object o){
if (data.length==index) expand();
data[index]=o;
index++;
}
public void add(int pos,Object o){
if (data.length==index) expand();
for(int i=index;i>pos;i--){
data[i]=data[i-1];
}
data[pos]=o;
index++;
}
public void change(int pos,Object o){
data[pos]=o;
}
public Object remove(int pos){
Object o=data[pos];
index--;
for(int i=pos;i<index;i++){
data[i]=data[i+1];
}
return o;
}
public int size(){
return index;
}
public Object get(int pos){
return data[pos];
}
public void clear(){
index=0;
}
public boolean isEmpty(){
return index==0;
}
public Object[] toArray(){
return data;
}
}
public class MemoryTest {
private static MyList list ;
/*
* 判断内存是否存在
*/
public static boolean findMemory(String a){ for(int i=0;i<list.size();i++){
String o=(String)list.get(i); //这出现强制类型错误,我想用传值和null比较是否相等
if (o.equals(a)) return false;
}
return true;
}
public static void disPlay(){
for(int i=list.size()-1;i>=0;i-- ){
Object o=list.get(i);
System.out.println(i+" "+o);
}
}
public static void main(String[] args) throws IOException { System.out.print("输入>");
BufferedReader in = new BufferedReader
(new InputStreamReader(System.in));
int memory_i=Integer.parseInt(in.readLine());
list=new MyList(memory_i); for(int i=0;i<memory_i;i++){
list.add("null");
}
list.change(3, 8);
int a=4096/2000;
String s=Integer.toString(a);
System.out.println(s);
System.out.println(findMemory(s));
}
}
private Object[] data;
private int index=0;
public MyList(int size){
data=new Object[size];
}
private void expand(){
Object[] data2=new Object[data.length*2];
System.arraycopy(data,0,data2,0,data.length);
data=data2;
}
public void add(Object o){
if (data.length==index) expand();
data[index]=o;
index++;
}
public void add(int pos,Object o){
if (data.length==index) expand();
for(int i=index;i>pos;i--){
data[i]=data[i-1];
}
data[pos]=o;
index++;
}
public void change(int pos,Object o){
data[pos]=o;
}
public Object remove(int pos){
Object o=data[pos];
index--;
for(int i=pos;i<index;i++){
data[i]=data[i+1];
}
return o;
}
public int size(){
return index;
}
public Object get(int pos){
return data[pos];
}
public void clear(){
index=0;
}
public boolean isEmpty(){
return index==0;
}
public Object[] toArray(){
return data;
}
}
public class MemoryTest {
private static MyList list ;
/*
* 判断内存是否存在
*/
public static boolean findMemory(String a){ for(int i=0;i<list.size();i++){
String o=(String)list.get(i); //这出现强制类型错误,我想用传值和null比较是否相等
if (o.equals(a)) return false;
}
return true;
}
public static void disPlay(){
for(int i=list.size()-1;i>=0;i-- ){
Object o=list.get(i);
System.out.println(i+" "+o);
}
}
public static void main(String[] args) throws IOException { System.out.print("输入>");
BufferedReader in = new BufferedReader
(new InputStreamReader(System.in));
int memory_i=Integer.parseInt(in.readLine());
list=new MyList(memory_i); for(int i=0;i<memory_i;i++){
list.add("null");
}
list.change(3, 8);
int a=4096/2000;
String s=Integer.toString(a);
System.out.println(s);
System.out.println(findMemory(s));
}
}
解决方案 »
- 看书解答不了的JAVA问题
- 另求一正则表达式! >..<
- sun官网jdk下载问题
- java.nio.*;网络通信问题,Channal怎么传对象?对像怎么序列化?
- 关于Class [Ljava.lang.String 和 Class java.lang.String的区别
- final Test test = new Test2();为什么这样创建对象,有什么用?
- 为什么不能执行呢?
- 对象之间如何通过套接字进行通信?
- 我的问题你们都会,但我今天第一次用java写HelloWorld程序
- 一个很傻的问题:
- 页面每10秒读取一次Action,多个用户执行这样的操作就报NullPointerException
- 如何让按钮自动呈现被按下的状态
Object --> String 当然会报错了。
强制类型转化虽然说的是将父类转换成子类,但是前提是父类在构造是用的是子类才能转换,如
如定义了两个类型 FatherA 和 SonA
FatherA a = new SonA();
SonA b = (SonA)a; 可以进行转换
FatherA a = new FatherA();
SonA b = (SonA)a; 不可以转换