public static Object find(Collection c, String fieldName, Object value) { if (c == null) { return null; } else { Iterator var4 = c.iterator(); while(var4.hasNext()) { Object o = var4.next(); if (o != null) { Object fieldValue = TplC.getProperty(o, fieldName); if (eqEx(fieldValue, value)) { return o; } } } return null; } }
时间: 2024-02-10 15:35:25 浏览: 28
这段代码是用于在 Java 中查找指定集合中的对象,该对象的某个属性值等于指定的值。其中,参数 c 是指定的集合,fieldName 是指定的属性名,value 是指定的属性值。该方法会遍历集合中的每个元素,使用反射获取每个元素的属性值,并将该属性值与指定的属性值进行比较,如果相等则返回该元素,否则返回 null。需要注意的是,该方法使用了 TplC.getProperty() 方法获取对象的属性值,该方法的具体实现在代码中并未给出。
相关问题
public static String valueOf(Object value) { if (value == null) { return ""; value 是传空对象效率高还是直接传null效率高? } }
根据 Java 的语言规范,传入 null 对象会引发 NullPointerException 异常,而传入空对象则只是进行一个简单的空检测,因此传入空对象的效率更高。但是,如果您的程序逻辑可以保证传入的对象不会为 null,那么直接传入 null 也是一个比较好的选择,因为这样可以避免无意义的空检测操作,从而提高程序的效率。
public static String toJson(Object values) { return JSON.toJSONString(values, (ValueFilter) (object, name, value) -> { if(value == null){ return ""; } return value; }); } 优化
首先,我们可以将 `(ValueFilter)` 强制类型转换简化为 lambda 表达式:
```
public static String toJson(Object values) {
return JSON.toJSONString(values, (object, name, value) -> {
if (value == null) {
return "";
}
return value;
});
}
```
然后,我们可以将 lambda 表达式简化为方法引用:
```
public static String toJson(Object values) {
return JSON.toJSONString(values, (object, name, value) -> value == null ? "" : value);
}
```
这样就更加简洁清晰了。另外,如果我们使用最新版本的 FastJSON,它已经默认过滤了 null 值,所以我们可以直接写成:
```
public static String toJson(Object values) {
return JSON.toJSONString(values);
}
```
这样就更加简单了。
阅读全文