天天看點

java to string array_Java自定義清單為字元串數組(Java Custom List to String Array)

Java自定義清單為字元串數組(Java Custom List to String Array)

我的類是在下面,我如何将ArrayList投射到隻有ItemText值且沒有for循環的String[] 。 哪種方法最好?

public class TestA implements Serializable {

private String ItemSrc;

private String ItemText;

public String getItemText() {

return this.ItemText;

}

}

My Class is Below, how do i cast ArrayList to String[] which only have ItemText values without any for loop. Which is the best way?

public class TestA implements Serializable {

private String ItemSrc;

private String ItemText;

public String getItemText() {

return this.ItemText;

}

}

原文:https://stackoverflow.com/questions/38997362

更新時間:2020-01-20 09:45

最滿意答案

假設你有ArrayList tests并且可以使用java-8

tests.stream().map(TestA::getItemText).toArray(String[]::new);

Assuming you have ArrayList tests and can use java-8

tests.stream().map(TestA::getItemText).toArray(String[]::new);

2016-08-17

相關問答

問題是,您沒有在customOrder清單中定義所有可能性。 對于未找到的元素, List.indexOf将傳回-1,在您的情況下,它是所有内容,是以不會對任何内容進行排序 是以,您需要例如假設customOrder隻是字首清單。 那是你要的嗎? 在這種情況下,你需要找到第一個比對的索引,并且還要跟蹤餘數,以防兩個比較字元串具有相同的字首: @Override

public int compare(final Environment o1, final Environment o2

...

首先,你不必要地一遍又一遍地解析相同的字元串(都與正規表達式比對,然後解析比對)。 相反,将自己的内容封裝到自定義類型中,以便隻需解析一次。 public class FooString {

private readonly string foo;

private readonly long bar;

public FooString(string foo) {

this.foo = foo;

Match match = Regex.Mat

...

如何使用Linq: var arr = customList.Select(x => new object[] { x.Date, x.Value }).ToArray();

How about using Linq: var arr = customList.Select(x => new object[] { x.Date, x.Value }).ToArray();

疊代您的數組清單以擷取所需的資料。 做類似下面的事情: for (int i = 0; i < ListItems.size(); i++) {

String userListName = ListItems.get(i).getListName();

if(userListName.equals("list1")){

//Do something here

}else{

//Nthng to

...

你的過濾器關閉的問題是它的類型((Country)) throws -> Bool當它應該是Country -> Bool 這告訴你的是,你的閉包在代碼中有一些可能失敗并抛出錯誤的部分。 編譯器不會知道如何解釋失敗,是以閉包不會抛出錯誤。 看看你的代碼,這可能是由于從String到NSString 。 我試圖在我的機器上重制你的代碼(Swift 3,Ubuntu 16.04),并且在演員陣容中失敗了。 我的解決方案是使用NSString的構造函數來接收一個String ,它的工作 更新的代碼: s

...

你應該做一些事情: 首先,您需要将分割表達式修複為@ug_聲明。 但是,我認為拆分數字更合适。 private static final Pattern splitPattern = Pattern.compile("\\d+");

對于20150323-ssEventBlagV2.jpg将導緻 [, 20150323, -ssEventBlagV, 2, .jpg]

其次,執行與Long比較分開的日期比較。 使用SimpleDateFormat将確定您隻比較格式化為日期的數字。 try {

...

for (int i = 0; i < eArray.length; i++) {

names.add(new Name(eArray[i]));

}

for (int i = 0; i < eArray.length; i++) {

names.add(new Name(eArray[i]));

}

假設你有ArrayList tests并且可以使用java-8 tests.stream().map(TestA::getItemText).toArray(String[]::new);

Assuming you have ArrayList tests and can use java-8 tests.stream().map(TestA::getItemText).toArray(String[]::new);

你可以使用: List customList = new ArrayList();

for (String value: values) {

customList.add(new Custom(value));

}

雖然最好隻添加一個帶String參數的構造函數: class Custom {

private final String input;

public Custom(String input) {

this.input =

...

您可以使用Gson Library将字元串轉換為Custom ArrayList。 在app build.gradle中添加此gradle依賴項 compile 'com.google.code.gson:gson:2.2.+'

然後使用此代碼 Gson gson = new Gson();

TypeToken> token = new TypeToken>() {

};

ArrayList

...