簡體   English   中英

將元素從一個數組添加到另一個Java

[英]Adding elements from one array to another Java

幾年休息后才回到Java。 我正在嘗試從一個數組中選擇元素並將其存儲在Java中的另一個數組中。 我創建了一個具有相同數量元素的相同類型的新數組。 我要從中復制的數組不為null我已將其打印出來。 但是,當我嘗試顯示新數組時,值不存在-只是對元素的引用。 我可能忽略了一些東西。 我一直在尋找最后一天,但沒有到達任何地方。 我真的很感謝您的幫助。 代碼如下:

PersonDetails user = new PersonDetails(userName,userGender,userAge,userInterests);
PersonDetails [] userArray =  new PersonDetails [numberOfDaters];   
PersonDetails [] dateArray =  new PersonDetails [numberOfDaters];   
userArray = user.getArray("datingdata.txt", numberOfDaters);
dateArray = Arrays.copyOf(userArray, userArray.length);

char [][] interestArray = new char[numberOfDaters][5];  
for (int z =0;z<userArray.length; z++) {                
   interestArray[z] =
      userArray[z].getAllInterests( userArray[z].getInterests());                   
}
String remove = user.getOnes(interestArray);
System.out.print(remove);
StringTokenizer st = new StringTokenizer(remove); 
int num = st.countTokens();
PersonDetails [] userRemoveArray =  new PersonDetails [num]; 
while(st.hasMoreTokens()) {
   int token = Integer.parseInt(st.nextToken()); 
   for(int x =0;x<userRemoveArray.length;x++) {
      userRemoveArray[x] = userArray[token];
   }
   System.out.println(userRemoveArray);  
} 

輸出如下:

[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488
[LPersonDetails;@a8c488

提前致謝

您可以使用.addAll(...)方法或此處找到的許多方法之一。

至於打印數組的元素……您將必須實現自己的.toString()方法,以避免顯示對象引用。

這是一個使您更容易使用的小示例,因為您已經注意到一段時間后剛回到Java,希望對您有所幫助:)

public class PersonDetails {

private String userName;

private String gender;

@Override
public String toString() {
    return "PersonDetails [userName=" + userName + ", gender=" + gender
            + "]";
}

}

現在,當您打印出數組時,將為每個PersonDetail對象打印在toString()方法中創建的String。

您應該使用System.out.println(Arrays.asList(userRemoveArray)); 要么

for(int i = 0; i < userRemoveArray.length;i++) {
  System.out.print(userRemoveArray[i]+", ");
}
System.out.println();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM