检查java中是否存在对象属性
例如 这将解析为此类对象的列表:检查java中是否存在对象属性,java,Java,例如 这将解析为此类对象的列表: [{ 'name': 'Foo', 'distance': 2 },{ 'name': 'Bar' }] 但是,对于条形图,城市对象将不具有“距离”属性。我可以像检查对象一样检查类型吗?比如: class City { public String name; public int distance; } 如何检查距离是否已设置?您可以使用整数而不是int,并检查它是否为null。对于其他atributes
[{
'name': 'Foo',
'distance': 2
},{
'name': 'Bar'
}]
但是,对于条形图,城市对象将不具有“距离”属性。我可以像检查对象一样检查类型吗?比如:
class City {
public String name;
public int distance;
}
如何检查距离是否已设置?您可以使用整数而不是int,并检查它是否为null。对于其他atributes也可以这样做,使用类而不是原始类型
if(city.distance)
。只需使用Integer
而不是int
并检查空值
请记住,您必须使用void构造函数创建一个City
类:
Gson gson = new Gson();
City city = gson.fromJson(json, City.class);
使用
city.getDistance()==null
检查null
如果(距离!=null)那么。。。这取决于解析器。。。如果解析器决定将距离设置为0。。。但我怀疑它能否成功地生成int
null
@dystroy正如我所说,解析器不会将其设置为0。@artworkadシ 在java中,没有未定义的
。这是一个int
。你认为它能做什么?你可以在默认情况下签署一个负数,mb使用getter和setter更好?+1谢谢你,尝试了这个,效果很好!
public class City {
public Integer distance;
public String name;
public City() {/*void constructor*/}
public Integer getDistance() {
return distance;
}
public void setDistance(Integer distance) {
this.distance = distance;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}