繁体   English   中英

从方法返回数组以从哈希图中获取对象-Java

[英]return array from method to get objects from a hashmap - java

我有一个包含通过构造函数创建的对象的哈希图。 这些对象在哈希图中

我有一个比较两个数组的函数。 一个数组是手动创建的,但是第二个数组是通过方法创建的。 我只需要哈希图中的值。

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(){

如何将对象从哈希图转换为数组,以便可以比较两个数组的内容? 我可以去...

public Brick[] getBricks() {   
Brick[] bricks = {hashmap.value().toArray()};   
return bricks;    
}

但这给了错误,说不能从Object []转换为Brick

  • 如果我取出.toArray(),则会收到“无法从Collection <RoundBrick>转换为Brick”的信息
  • 如果我将.toArray()更改为.toString(),则会收到“无法从字符串转换为积木”的信息

如果我将方法更改为以下内容...

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]

谁能指出我正确的方向?

public Brick[] getBricks() {   
    return hashmap.values().toArray(new Brick[0]);   
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM