Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java强制转换对象数组_Java_Arrays_Object - Fatal编程技术网

用java强制转换对象数组

用java强制转换对象数组,java,arrays,object,Java,Arrays,Object,我声明了一个对象数组。是否可以使用自定义节点类而不是通用对象数组?这是我的密码: Object[] pos = new Object[28]; pos[1] = new HashSet<String>(); Object[]pos=新对象[28]; pos[1]=新的HashSet(); 我的节点类只包含字符串值。我试着直接做,但不起作用 Node[] pos = new Node[28]; pos[1] = new HashSet<String>(); Node[

我声明了一个对象数组。是否可以使用自定义节点类而不是通用对象数组?这是我的密码:

Object[] pos = new Object[28];
pos[1] = new HashSet<String>();
Object[]pos=新对象[28];
pos[1]=新的HashSet();
我的节点类只包含字符串值。我试着直接做,但不起作用

Node[] pos = new Node[28];
pos[1] = new HashSet<String>();
Node[]pos=新节点[28];
pos[1]=新的HashSet();

否,您无法执行您所做的操作:当您声明类型为
节点
的数组时,只有类型为
节点
的对象或通过继承从其派生的类型才能成为数组元素

这适用于
Object[]
数组的原因是
Object
是每个Java对象的基类
HashSet
对象可以转换为类型
java.lang.Object
,但不能转换为不相关的类型
节点

Object[]pos=新对象[28];
  Object[] pos = new Object[28];
  pos[1] = new HashSet<String>();
pos[1]=新的HashSet();
这是因为HashSet是一个对象

 Node[] pos = new Node[28];
 pos[1] = new HashSet<String>();
Node[]pos=新节点[28];
pos[1]=新的HashSet();
不起作用,因为节点不是哈希集。您不能将哈希集放在需要节点的数组中。

请尝试以下方法:

String[] stringArray = (String[])valid.toArray(new String[valid.size()]);
好吧,当你这么做的时候

Node[] pos = new Node[28];
这意味着您要告诉编译器您正在创建长度为28的节点对象数组。但是当你在下面做的时候

  pos[1] = new HashSet<String>();
pos[1]=新的HashSet();
您正在尝试存储HashSet对象而不是节点对象。这就是问题所在


但是对于Object array,它将起作用,因为Object是java中其他所有类的超类

为什么不使用map而不是node array呢?我不明白你想做什么
pos
应该是一个节点数组。但您正在尝试为其元素1分配哈希集。如果你试图分配给一个简单的类节点变量,你会得到本质上相同的错误,以及由此产生的所有影响。有解决方法吗?没有。为什么要解决它?@user2326847-了解类继承。@user2326847您需要选择一个类型作为
哈希集
(即
对象
集合
,或
抽象集
)或其一个接口的基础(即
Serializable
Cloneable
Iterable
Collection
,或
Set
)。有关基本类型的列表,请参见(参见顶部的层次结构)