我正在用Java 1.8编写,现在我需要降级到1.6。 我在以正常方式编写此代码时遇到问题。有什么建议么 ?
return Stream.of(field.getText().split(","))
.map(String::trim)
**.filter(s -> !s.isEmpty())**
.map(Integer::valueOf)
.collect(Collectors.toSet());
非常感谢您的帮助。
那是我尝试过的:
if(!splitted[i].isEmpty()) {
set.add(Integer.valueOf(splitted[i]));
}
答案 0 :(得分:5)
Set<Integer> results = new HashSet<>();
for (String part : field.getText().split(",")) {
String trimmed = part.trim();
if (trimmed.isEmpty()) continue;
results.add(Integer.valueOf(trimmed));
}
答案 1 :(得分:3)
您的代码执行以下操作:
可以这样做:
EDIT :for-each更好,并且可以从Java 1.5开始使用
Set<Integer> set = new HashSet<>();
for(String split : field.getText().split(",")) {
split = split.trim();
if(!split.isEmpty()) {
set.add(Integer.valueOf(split));
}
}