黑马程序员技术交流社区
标题:
int[][]2维数组
[打印本页]
作者:
xiangzi2008006
时间:
2013-8-31 08:51
标题:
int[][]2维数组
本帖最后由 xiangzi2008006 于 2013-8-31 14:25 编辑
张老师说过,基础数据类型1维数组是个Object对象,String类型1维数组可以看出Object也可以看成Object[]数组,那基础数据类型的二维数组呢?
作者:
月黑风高
时间:
2013-8-31 09:08
对象数组呗,只不过数组中存储的全是对象(数组也是对象,String类型也是)
作者:
itachi
时间:
2013-8-31 09:16
万物皆对象啊,数组可以看成一个对象,每一个数组成员也可以是一个对象。基础数据类型的二维数组可以看成一个对象,数组成员也可以是对象啊。
作者:
梦航
时间:
2013-8-31 09:22
二维数组实质上还是一维数组,只不过其数组元素作为引用,指向一维数组
int[][] a = new int[6][]; // 长度为6的数组
/*
可以像一维数组一样遍历其中每个数组元素
*/
for (int i = 0; i < a.length; i++)
{
System.out.println(a[i]);
}
复制代码
另:Java语言是强类型语言
作者:
行如止水
时间:
2013-8-31 09:37
对于二维数组,你可以把它看成一个对象,也可以看成一个对象数组,具体视情况而定;
比如说在序列化中,一般都是将数组看成是一个对象,观察如下代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ArraySerDemo {
public static void main(String[] args) throws Exception{
Person per[] = {new Person("张三",30),new Person("李四",31),new Person("王五",32)};
ser(per);
Person p[] = (Person[]) dser();
print(p);
}
public static void ser(Object obj) throws Exception{
File file = new File("d:"+File.separator+"person.txt");
ObjectOutputStream oos = null;
oos = new ObjectOutputStream(new FileOutputStream(file));
oos.writeObject(obj);
oos.close();
}
@SuppressWarnings("resource")
public static Object dser() throws Exception{
File file = new File("d:"+File.separator+"person.txt");
ObjectInputStream ois = null;
ois = new ObjectInputStream(new FileInputStream(file));
Object temp = null;
temp = ois.readObject();
return temp;
}
public static void print(Person per[]){
for(Person p : per){
System.out.println(p);
}
}
}
复制代码
这段代码在序列化的时候就将数组看成了一个对象,二维数组也是这样可以看成是一个对象;
但在某些地方还是看成对象数组看处理的,比如说foreach循环中。
作者:
薛鹏鹏
时间:
2013-8-31 14:19
如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作
详情参考
如何修改分类
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2