簡體   English   中英

連接Java對象數組中的字段

[英]concatenate fields from array of Java objects

我是Java的新手。 我有一個具有字符串字段的對象數組。 我可以通過循環將所有字符串連接到一個字符串數組中,但這非常不雅致。

int numObj = obj.length;
String[] strArray = new String[numObj];
for (int i = 0; i < numObj; i++) {
    strArray[i] = obj[i].strField;
}

有沒有一種方法可以在一個命令中將所有對象的單個字段連接到字符串數組中? 例如:

String[] strArray = (String[]){obj[].strField};

這不起作用,因為obj[]是一個數組,因此它沒有任何字段,但是使用{obj.strField}也不起作用,因為沒有名為obj 順便說一句,我真的不必重新鑄造字段或執行.toString()因為它已經是一個字符串了。

我查看了許多與此相關的其他帖子(但可能還不夠嗎?),但我仍然無法弄清楚。 有一些提到將對象數組轉換為字符串數組,但是我不認為這些文章意味着將對象中的特定字段(而不是對象本身)轉換為uncast類型。

在MATLAB中,這很簡單: strCellArray = {obj.strField}; 會立即從obj所有strFields創建一個字符串單元格數組。

謝謝你的幫助。

您所做的是唯一的方法。 但是,您不必為數組的長度創建變量。 在99.99%的時間內使用公共字段是一個非常糟糕的主意:

String[] strings = new String[objects.length];
for (int i = 0; i < objects.length; i++) {
    strings[i] = objects[i].getStringField();
}

暫無
暫無

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

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