List<ContOptConfFileEntity> confFileListAll = new ArrayList<>();从confFileListAll 中过滤得到ContOptConfFileEntity的属性 fileType=0的confFileList集合
时间: 2024-01-20 21:04:08 浏览: 10
你可以使用 Java 8 的流式操作和过滤器来实现这个功能,代码如下:
```
List<ContOptConfFileEntity> filteredList = confFileListAll.stream()
.filter(conf -> conf.getFileType() == 0)
.collect(Collectors.toList());
```
这里使用 `stream()` 方法将 `confFileListAll` 转换为一个流,然后使用 `filter()` 方法过滤出 `fileType` 属性为 0 的元素,最后使用 `collect()` 方法将过滤后的元素收集到一个新的列表中。
相关问题
List<EntityFieldDefine> fields = new ArrayList<>();和List<EntityFieldDefine> fields = new ArrayList();用起来有什么不同
`List<EntityFieldDefine> fields = new ArrayList<>();` 和 `List<EntityFieldDefine> fields = new ArrayList();` 在功能上是相同的,都是创建了一个空的 `ArrayList` 对象来存储 `EntityFieldDefine` 类型的元素。
唯一的区别在于 Java 7 之前的版本不支持使用 `<>` 语法进行类型推断,需要显式地指定类型参数。因此,如果你在 Java 7 或更早的版本中使用 `List<EntityFieldDefine> fields = new ArrayList<>();` 这样的语法,编译器将无法推断出 `ArrayList` 的类型参数,导致编译错误。
而在 Java 8 及更高版本中,引入了钻石操作符 `<>`,可以通过类型推断自动推断出类型参数。因此,你可以使用 `List<EntityFieldDefine> fields = new ArrayList<>();` 这样的语法,编译器会根据变量声明的类型自动推断出 `ArrayList` 的类型参数为 `EntityFieldDefine`。
总结来说,使用 `List<EntityFieldDefine> fields = new ArrayList<>();` 可以使代码更加简洁,并且兼容 Java 8 及更高版本。但如果你需要向下兼容到 Java 7 或更早的版本,那么应该使用 `List<EntityFieldDefine> fields = new ArrayList<EntityFieldDefine>();` 来显式指定类型参数。
JAVA中ArrayList<Integer> arrayList=new ArrayList<>()和List<String>list=new ArrayList<>()的区别
`ArrayList<Integer> arrayList=new ArrayList<>()` 和 `List<String> list=new ArrayList<>()` 的区别在于声明的泛型类型不同。
`ArrayList<Integer>` 声明了一个 `ArrayList` 对象,泛型类型为 `Integer`。这意味着这个 `ArrayList` 只能存储 `Integer` 类型的数据。
`List<String> list=new ArrayList<>()` 声明了一个 `List` 对象,泛型类型为 `String`。这意味着这个 `List` 可以存储任何 `String` 类型的数据,包括 `String` 类型的子类。
另外,需要注意的是,`List` 是一个接口,而 `ArrayList` 是 `List` 接口的一个实现类。因此,`ArrayList` 是 `List` 的一种特殊形式,可以使用 `List` 接口中的所有方法,同时也可以使用 `ArrayList` 自己的方法。