天天看点

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

...