对象中某一个字段的值为空时不进行展示

本文介绍了一种从列表中移除空字符串的方法,通过遍历列表并检查每个元素是否为空来实现。具体步骤包括:记录需要删除的索引,然后逆序删除这些元素。
String index="";
		for (int i = 0; i < statEmails.size(); i++) {
		    String string = statEmails.get(i).getKey1().toString();
	        if(isEmpty(string)){
	            index=i+",";
	        }
		}
		String[] split=index.split(",");
		for (int j = 0; j < split.length; j++) {
		    if(!isEmpty(split[j])){
		        statEmails.remove(Integer.parseInt(split[j]));
            }
        }

### Java Stream 判断对象字段是否包含指定字符串 在 Java 中,可以利用 `Stream` 的 `filter` 方法结合 Lambda 表达式实现对对象字段的过滤操作,并通过调用对象字段上的 `contains` 方法来判断其是否包含指定字符串。以下是具体实现方式: #### 示例代码 假设有一个类 `Person`,其中包含一个字段 `name`。 ```java import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } } public class Main { public static void main(String[] args) { List<Person> people = new ArrayList<>(); people.add(new Person("Alice")); people.add(new Person("Bob")); people.add(new Person("Charlie")); // 查找名字中包含 "li" 的人 List<Person> result = people.stream() .filter(person -> person.getName().toLowerCase().contains("li")) .collect(Collectors.toList()); result.forEach(person -> System.out.println(person.getName())); } } ``` 上述代码展示了如何使用 `Stream` 流筛选出 `name` 字段中包含子串 `"li"` 的对象[^1]。这的关键在于 `filter` 方法配合 Lambda 表达式的使用,以及将目标字段转为小写以便忽略大小写的差异。 --- #### 关键点解析 1. **Lambda 表达式** 使用 `person -> person.getName().toLowerCase().contains("li")` 来定义过滤逻辑。此表达式的作用是对每个 `Person` 对象提取其 `name` 属性,并检查该属性是否包含指定子串[^2]。 2. **忽略大小写处理** 调用了 `toLowerCase()` 方法以确保匹配区分大小写。如果关心这一点,则可以直接省略这一步骤。 3. **收集结果** 结果被转化为一个新的列表形式存储起来,便于后续进一步的操作或展示。 --- #### 注意事项 - 如果数据源为或者存在符合条件的数据项,则最终的结果集合也将是一个集。 - 需要特别注意的是,在实际开发过程中应当考虑可能存在的 null 情况,以免引发 NullPointerException 异常。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值