检查java中是否存在对象属性

时间:2014-09-24 12:37:32

标签: java

E.g。

[{
     'name': 'Foo',
     'distance': 2
},{
     'name': 'Bar'
}]

这将解析为此类的对象列表:

 class City {
     public String name;
     public int distance;
 }

但是对于Bar,city对象不具有distance属性。我可以检查类似我检查对象的类型吗?像:

if(city.distance)

如何检查距离是否已设定?

2 个答案:

答案 0 :(得分:2)

Gson gson = new Gson();    
City city = gson.fromJson(json, City.class);

Custom parse classes are allowed with GSON。只需使用Integer代替int并检查空值。

请记住,您必须使用void构造函数创建City类:

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;
    }
}

使用null

检查city.getDistance()==null

答案 1 :(得分:0)

您可以使用Integer而不是int,并检查它是否为null。对于其他属性也可以这样做,使用类而不是原始类型。