您的位置:

java可以用数组存放类吗(java数组可以存储不同类型的)

本文目录一览:

java中,数组既可以存放基本数据类型,又可以存放对象。为什么集合中存放的就必须是对象?求高人指点,

首先你要清楚,java的底层是C,数组只能存放基本数据类型,这是目前不会改变的,数组是永远不可能存放对象的,你所谓的存放对象只不过是存放对象的引用,实质上,还是个整形数组;而集合分为ArrayList还有linkedList你应该知道,ArrayList的本质其实就是数组,存放的还是引用,而引用只不过在java中你可以叫做对象,但是你不能说数组可以存放对象

Java 如何理解数组在Java中作为一个类

java中可以定义类数组来存放类。

java中定义类数组存放类,和定义int数组存放int类型数据基本没有区别,唯一的区别就是定义int数组使用int关键字,定义类数组的关键字需要使用类类型。

java中,数组既可以存放基本数据类型,又可以存放对象。为什么集合中存放的就必须是对象?

集合里只能存放引用类型,若要存放基本类型只能存相对应的包装类

原因是因为集合是泛型类,会有边界擦除,若在里指定类型就保留到你指定的类的信息,

若不指定就为Object类,基本类型自动转为相应的包装类存放

所以你只要在里面试一下就会发现不指定类型的话除Object中有的方法外别的方法都不能用

指定为一个父类(或接口)的话,即使你存放进去的是子类却也用不了子类的方法(除非强转)等

java中能不能定义类数组存放类

当然可以,例如下面的t就是一个对象数组

public class Test

{

int age;

String name;

Test(int age,String name)

{

this.age = age;

this.name = name;

}

@Override

public String toString()

{

return "[" + name + "," + age + "]";

}

public static void main(String[] args)

{

Test[] t = new Test[3];

t[0] = new Test(18,"zs");

t[1] = new Test(19,"ls");

t[2] = new Test(20,"ww");

for(int i=0;it.length;i++)

{

System.out.println(t[i]);

}

}

}

java中能否用数组存放不同的类

在java中数组是不可以存放不同数据类型的。只能存放同一种数据类型。

但是,我们可以通过map来实现数组存放不同的数据类型。

Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能影射一个相同的value.key值还决定了存储对象在映射中的存储位置.但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置.Map集合包括Map接口以及Map接口所实现的类.