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
...