Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 值对象属性应配置为默认值?_Java_Design Patterns_Nullpointerexception_Null - Fatal编程技术网

Java 值对象属性应配置为默认值?

Java 值对象属性应配置为默认值?,java,design-patterns,nullpointerexception,null,Java,Design Patterns,Nullpointerexception,Null,我使用value对象作为返回到android客户端的json 以致 public class StationVO implements Serializable{ private static final long serialVersionUID = 1692896969987787366L; private String stationName; private Long stationID; private Double stationLng;

我使用value对象作为返回到android客户端的json 以致

public class StationVO implements Serializable{

    private static final long serialVersionUID = 1692896969987787366L;

    private String stationName;

    private Long stationID;

    private Double stationLng;

    private Double stationLat;  
}
但我的搭档让我改变

public class StationVO implements Serializable{

    private static final long serialVersionUID = 1692896969987787366L;

    private String stationName="";

    private long stationID;

    private double stationLng;

    private double stationLat;
    }
因为他认为如果您使用object,json my可能为null,这可能会导致客户端应用程序错误,甚至 向下,但是我认为如果我使用double,nullexception可能会被隐藏,但是我找不到错误。 此外,如果我使用double,原始的null更改0,可能会导致数据不真实。
那么,如何避免返回null,并找到nullexceptin或其他查找异常的方法呢?

您的问题几乎无法理解,因此我将仅给出一些建议:

除非应用程序需要
null
提供的明确含义,否则不要使用包装类型声明“标量”字段。为您的标量使用基元类型更简单、更有效。。。而且你不会遇到NPE的问题

在您的示例中,如果需要支持具有“未知”或“未指定”长/纬度坐标的桩号,则应仅对经度和纬度使用
Double
。如果您只是想要一个默认值,那么将字段初始化为(数字)默认值;e、 g.
0.0,0,0

如果确实需要将long/lat字段设置为
null
,那么代码必须处理这个问题

有关调试NPE的详细示例,请阅读我对此问题的回答: