草庐IT

null-check

全部标签

java - Jackson ObjectMapper 即使使用 NON_NULL 也会抛出 NullPointerException

当使用以下JSON并且“phones”或“emailAddresses”为空时,我将收到NullPointerException。JSON:{"item":{"messages":{"user.phone.missing":{"type":"warning","key":"user.phone.missing","message":"Userprofiledoesnothaveaphonenumber","code":null},"user.email.missing":{"type":"warning","key":"user.email.missing","message":"Us

java - 标准 Hamcrest 匹配器检查集合是否为空或 null?

是否有使用标准Hamcrest匹配器的以下断言语句的较短版本?Collectioncollection=...assertThat(collection,is(anyOf(nullValue(Collection.class),emptyCollectionOf(Element.class))));我意识到有一种方法可以创建自定义匹配器,希望可能已经有一些东西可以解决这个问题而无需任何额外的代码更改。 最佳答案 没有开箱即用的解决方案,更糟糕的是,either()由于this而无法使用漏洞。所以最短的方法是这样的:assertTha

java - Hibernate 在 ManyToOne 关系中处理 long 0 值而不是 NULL

我使用Hibernate访问遗留数据库。对于某些表,未强制执行父子引用完整性,并且子表中的某些“父”列使用long0值而不是NULL来表示“无父”。我仍然想在@ManyToOne和@OneToMany字段中使用这些关系,但是得到EntityNotFound错误,因为0值不对应到主表中的任何记录。我有哪些选择? 最佳答案 使用NotFound注释:@NotFound(action=NotFoundAction.IGNORE)参见http://docs.jboss.org/hibernate/core/3.6/reference/en-

java - System.console() 从 Eclipse 返回 null 但在命令提示符下没问题

当我从EclipseHelios使用System.console时,它​​总是返回null。但是,当我直接从命令行使用它时(即从命令提示符手动编译和执行java源代码),我确实得到了一个控制台对象。为了知道为什么会发生这种情况,我检查了this关联。根据它,当我从Eclipse运行我的Java代码时,后台作业调度程序必须启动我的JVM。这是什么意思?当我从命令行启动时,我的JVM启动有何不同?我还检查了this关联。McDowell在这里说cmd.exe是一个控制台设备。那么我再次感到困惑,这到底是一个控制台设备? 最佳答案 因为是

Java HashMap 在 get() 调用时返回 null

我们在尝试获取与HashMap中给定键关联的值时观察到NullPointerException。以下是我将用来说明问题的示例代码。publicclassTest{privateMapemployeeNameToAgeMap=newHashMap();publicintgetAge(StringemployeeName){if(!employeeNameToAgeMap.containsKey(employeeName)){intage=getAgeFromSomeCustomAPI(employeeName);employeeNameToAgeMap.put(employeeName,

java - 为什么在 Java 中允许初始化对 Null 的引用?

在以下使用JDBC的示例中(尽管这个问题并不特定于JDBC):Connectionconn=null;try{.....DothenormalJDBCthinghere....}catch(SQLExceptionse){if(conn!=null){conn.close();}}如果我没有将conn初始化为null那么编译器会提示说在catchblock中我不能使用一个没有的引用被初始化。Java默认将对象引用初始化为null那么为什么我需要显式地将其初始化为null。如果编译器不喜欢以null开头的引用的原始值,为什么它甚至接受我的显式初始化?注意:我使用EclipseLuna作为

java - JsonParseException : Unrecognized token 'http' : was expecting ('true' , 'false' 或 'null' )

我们有以下字符串,它是写入HDFS文件的有效JSON。{"id":"tag:search.twitter.com,2005:564407444843950080","objectType":"activity","actor":{"objectType":"person","id":"id:twitter.com:2302910022","link":"http%3A%2F%2Fwww.twitter.com%2Fme7me4610012","displayName":"","postedTime":"2014-01-21T11:06:06.000Z","image":"https%3

java - Spring @Value 注释返回 null

我正在尝试利用@Value注释并从属性文件自动填充我的字符串变量,但没有成功。值未设置且为null。这是我的配置:SendMessageController.java@RestControllerpublicclassSendMessageController{@Value("${client.keystore.type}")privatestaticStringkeystoreType;@RequestMapping(value="/sendMessage",method=RequestMethod.POST)publicResponseEntitysendMessage(@Vali

java - 检查 Set 是否不包含 null 的好方法

我有一个方法,它被赋予一组Set对象。它委托(delegate)的方法要求Set不包含任何空元素。我想checkthepreconditionSet在委托(delegate)之前的方法中早期不包含空元素。这样做的明显代码是这样的:publicvoidscan(SetplugIns){if(plugIns==null){thrownewNullPointerException("plugIns");}elseif(plugIns.contains(null)){thrownewNullPointerException("plugInsnullelement");}//Body}但这是不正

java - 断言失败错误 : null on boolean method

我正在测试一个将两个对象作为参数并返回boolean的方法.当我使用和assertTrue或assertFalse在有问题的方法上,我得到以下测试失败:junit.framework.AssertionFailedError:null.我知道我正在传递无效参数并且可能会导致NPE在方法中,但这不是正在发生的事情,而是测试失败了。注意:我正在使用boolean而不是Boolean.示例代码:类:publicclassMyClass{publicbooleanfoo(MyObject1lhs,MyObject2rhs){//doSomething//returnsomething}}测试: