Android Realm:如何将int设置为nullable,以便如果它得到值;空";从json返回,它可以被忽略

Android Realm:如何将int设置为nullable,以便如果它得到值;空";从json返回,它可以被忽略,android,json,realm,nullable,primitive,Android,Json,Realm,Nullable,Primitive,我的目标如下: @RealmClass public class TripStop extends RealmObject implements Serializable { @Nullable private int arrival_time; private String address; @PrimaryKey private int id; @Nullable private int departure_time; private Destination place; private C

我的目标如下:

@RealmClass
public class TripStop extends RealmObject implements Serializable {
@Nullable
private int arrival_time;
private String address;
@PrimaryKey
private int id;
@Nullable
private int departure_time;
private Destination place;
private CoordLocation location;

public int getArrival_time() {
    return arrival_time;
}

public void setArrival_time(int arrival_time) {
    this.arrival_time = arrival_time;
}

public String getAddress() {
    return address;
}

public void setAddress(String address) {
    this.address = address;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public int getDeparture_time() {
    return departure_time;
}

public void setDeparture_time(int departure_time) {
    this.departure_time = departure_time;
}

public Destination getPlace() {
    return place;
}

public void setPlace(Destination place) {
    this.place = place;
}

public CoordLocation getLocation() {
    return location;
}

public void setLocation(CoordLocation location) {
    this.location = location;
}
}
但每次我得到一个json响应,int(或primitive)为null,我就会在领域中得到一个错误:

08-29 16:45:59.220:I/WSCalls(6370):错误:尝试将不可为null的字段“出发时间”设置为null

我从Realm3.5中了解到,可以设置空值,或者设置默认版本,但我还没有做到这一点。
这怎么可能?我发现@Nullable没有帮助

首先:

int
是一种基本数据类型,不能与
null
一起使用

解决方案:

您可以将类型更改为
Integer
Integer
可以包含
null
,但由于装箱/取消装箱,它会增加一些开销。
(请参阅:)

只需使用get()而不是getInt()并检查其是否为null。然后解析到一个it。是的,谢谢,我自己也注意到了。当我开始使用realm时,它是0.85,不支持整数,只支持原语。不知道他们添加了对Integer的支持,直到现在如何应用notEqualto的检查。。。域查询realm.where(SalesTargetCustProdModel.class).equalTo(SalesTargetModel.SALES\u TARGET\u USER\u ID,agentId).equalTo(SalesTargetModel.Customer\u Master\u ID,customerId).notEqualTo(SalesTargetModel.PRODUCT\u Master\u ID,”).equalTo(SalesTargetModel.PRODUCT\u ID,”).findAll()