可以使用 Java 8 的流(Stream)API 或传统的循环方式来过滤出 version
和 viewName
都不为空的对象。下面是两种方法的示例代码:
1. 使用 Java 8 流(Stream)API
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<MyObject> list = ...; // 初始化对象列表
List<MyObject> filteredList = list.stream()
.filter(obj -> obj.getVersion() != null && !obj.getVersion().isEmpty() &&
obj.getViewName() != null && !obj.getViewName().isEmpty())
.collect(Collectors.toList());
// 使用 filteredList
}
}
class MyObject {
private String version;
private String viewName;
// getters and setters
public String getVersion() { return version; }
public void setVersion(String version) { this.version = version; }
public String getViewName() { return viewName; }
public void setViewName(String viewName) { this.viewName = viewName; }
}
2. 使用传统的循环方式
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<MyObject> list = ...; // 初始化你的对象列表
List<MyObject> filteredList = new ArrayList<>();
for (MyObject obj : list) {
if (obj.getVersion() != null && !obj.getVersion().isEmpty() &&
obj.getViewName() != null && !obj.getViewName().isEmpty()) {
filteredList.add(obj);
}
}
// 使用 filteredList
}
}
class MyObject {
private String version;
private String viewName;
// getters and setters
public String getVersion() { return version; }
public void setVersion(String version) { this.version = version; }
public String getViewName() { return viewName; }
public void setViewName(String viewName) { this.viewName = viewName; }
}
3. 使用 Iterator
另一种方式是使用 Java 7 或更早版本的 Iterator
进行过滤。以下是这种方式的示例代码:
使用 Iterator
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
List<MyObject> list = ...; // 初始化对象列表
List<MyObject> filteredList = new ArrayList<>();
Iterator<MyObject> iterator = list.iterator();
while (iterator.hasNext()) {
MyObject obj = iterator.next();
if (obj.getVersion() != null && !obj.getVersion().isEmpty() &&
obj.getViewName() != null && !obj.getViewName().isEmpty()) {
filteredList.add(obj);
}
}
// 使用 filteredList
}
}
class MyObject {
private String version;
private String viewName;
// getters and setters
public String getVersion() { return version; }
public void setVersion(String version) { this.version = version; }
public String getViewName() { return viewName; }
public void setViewName(String viewName) { this.viewName = viewName; }
}
使用 Iterator
方式可以避免直接修改原列表(如果需要在原列表上进行操作)。这是一种适用于更旧版本 Java 的方法。