我想检查一个实例化类的所有字段是否都是 NULL EXCEPT FROM id。
例如:
class Doggy {
String id;
String name;
String breed;
String eyeColour;
String hairColour;
Integer age;
Long height;
Long weight;
//getters & setters
}
Run Code Online (Sandbox Code Playgroud)
我想知道它是否可以使用 java 8 发生。在此先感谢您。
我有一个这样的实例化对象:
Doggy doggy = new Doggy;
doggy.setId("123");
Run Code Online (Sandbox Code Playgroud)
我想要一种更优雅的方式来执行以下操作:
if (doggy.getId()!=null && doggy.getName()==null && doggy.getBreed()==null &&
doggy.getEyeColour()==null && doggy.getHairColour()==null &&
doggy.getAge()==null && doggy.getHeight()==null && doggy.getWeight()==null) {
doSomething();
}
Run Code Online (Sandbox Code Playgroud)
如果这里的 java 8 我们的意思是使用流,你可以做
Doggy doggy = new Doggy();
doggy.id = "1";
boolean allIsNullButId = Arrays.stream(Doggy.class.getDeclaredFields()).allMatch(f -> {
try {
return (f.getName().equals("id") && f.get(doggy) != null) || f.get(doggy) == null;
} catch (IllegalAccessException e) {
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9098 次 |
| 最近记录: |