簡體   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