我有一个包含通过构造函数创建的对象的哈希图。这些对象在哈希图中
我有一个比较两个数组的函数。第一个数组是手动创建的,但第二个数组是通过方法创建的。我只需要哈希图中的值。
String[] checkOne= { "1.2:3,4:Brown", "1.1:5,4:Green" };
Map<String,RoundBrick> hashMap = new HashMap<String, RoundBrick>();
public void addBrick(RoundBrick roundBrick){
hashMap.put(roundBrick.getRef, roundBrick)
}
checkBrick(getBricks(), one){
...
}
public static boolean checkBrick(Brick[] brick, String[] checkOne){
...
}
我被困的地方是这种方法......
public Brick[] getBricks(){
如何将对象从 hashmap 转换为数组,以便比较两个数组的内容?我可以去...
public Brick[] getBricks() {
Brick[] bricks = {hashmap.value().toArray()};
return bricks;
}
但这给出了错误,说不能从 Object[] 转换为 Brick
- 如果我取出 .toArray(),我会得到“无法从 Collection< RoundBrick > 转换为 Brick”
- 如果我将 .toArray() 更改为 .toString(),我会得到“无法从 String 转换为 Brick”
如果我将方法更改为以下...
public Brick[] getBricks() {
String a = Arrays.toString(hashmap.values().toArray());
return a;
}
我在“a”上遇到的错误是“无法从 String 转换为 Brick[]”
添加下面的行时,它会打印出数组。
System.out.print(hashmap.values());
[1.2:3,4:Brown, 1.1:5,4:Green]
谁能指出我正确的方向?