草庐IT

non-null

全部标签

java - 使用参数 null 重载方法调用

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:MethodOverloadingforNULLparameter在下面的代码中输出是String如果我删除参数类型为String的方法,则输出为Object我知道当参数类型不完全匹配时方法重载如何起作用,但我不明白如何将null视为Object和/或字符串参数。这是什么原因?classC{staticvoidm1(Objectx){System.out.print("Object");}staticvoidm1(Stringx){System.out.print("String");}publicstati

java - 类型为 null 的参数应显式转换为 Class<?>[] 以调用 varargs 方法

请看下面的例子,第一次调用getMethod()在Eclipse中产生警告。第二个不起作用,失败并显示NoSuchMethodException.TheargumentoftypenullshouldexplicitlybecasttoClass[]fortheinvocationofthevarargsmethodgetMethod(String,Class...)fromtypeClass.ItcouldalternativelybecasttoClassforavarargsinvocation.我遵循了警告,但没有任何效果。importjava.lang.reflect.Met

java - 注释 ConcurrentHashMap 时处于 hibernate 状态的 "Illegal attempt to map a non collection as a @OneToMany, @ManyToMany or @CollectionOfElements"

我试过注释一个属性访问器,其返回值是一个映射,如下所示:@MapKeyColumn(name="parameter_name")@ElementCollectionpublicConcurrentHashMapgetParameterValues()这符合hibernate用户指南(第2.2.5.3.4节)。但是,我得到:org.hibernate.AnnotationException:Illegalattempttomapanoncollectionasa@OneToMany,@ManyToManyor@CollectionOfElements:ConfigurationParam

java - 为什么 Files.probeContentType 返回 null

我在mac上使用javase7,oracle预览。我的问题是“Files.probeContentType”返回空值...这是否可能是由于se7formac的早期状态?我的代码:if(directory==null)return;Stringcontent=null;try{content=Files.probeContentType(directory.toPath());}catch(IOExceptione){JOptionPane.showMessageDialog(main,e.toString());return;}if(content==null){return;}els

java - 获取没有堆栈跟踪的 "ArrayIndexOutOfBoundsException: null"

在我们的日志文件中,我们发现以下内容:[2012-09-2400:09:32.590+0000UTC]ERRORhostserver1[][]somepackage.someclass[][Unknown][V3rAqPaDvvAAAAExEXhdWGyh][pjsQwTGHzxcAAAE5j4YdGvWV]"ThreadName"Someerrorhappened:java.lang.ArrayIndexOutOfBoundsException:null只有这一行,没有异常堆栈跟踪。发生此异常的tryblock正在执行使用javassist创建的动态生成的Java字节码。我想知道两件

java - 你如何让 GSON 忽略 null 或空对象以及空数组和列表?

我正在使用Gson,我处于必须缩小某些Json字符串大小的情况。为此,我希望它不将空对象、空值、空列表和数组放入Json字符串中。有直接的方法吗?让我澄清一下:我希望跳过所有内容:emptyProp:{}或emptyArray:[]。我希望跳过任何只包含空属性的对象。 最佳答案 只要您不为GsonBuilder设置serializeNulls(),默认情况下会排除Null值。空列表的一种方法是创建一个JsonSerializerclassCollectionAdapterimplementsJsonSerializer>{@Over

java - 将 null 传递给方法

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我正在阅读优秀的CleanCode一个讨论是关于将空值传递给方法。publicclassMetricsCalculator{publicdoublexProjection(Pointp1,Pointp2){return(p2.x-p1.x)*1.5;}}...calculator.xProjection(null,newPoint(12,13));它代表

java - 避免通过 JPA 将 'null' 值插入数据库表

我从JPA2开始,到目前为止感觉很舒服。但是当为具有默认值的NONNULL数据库字段保留具有null属性值的实体时,我遇到了问题。我希望能够将实体属性保留为空,并让数据库插入默认值。我当前的设置是带有PostgreSQL的openJPA。我有这个VERSION数据库表(Vorgabewert=默认值):Spalte|Typ|Attribute----------------+-----------------------------+----------------------------status_|smallint|notnullVorgabewert0time_|timesta

java - 为什么在这种情况下为原始工作返回 null?

如果s==null,这段丑陋的代码确实可以编译但会抛出NPEpublicstaticbooleanisNullOrEmpty(Strings){returns!=null?s.isEmpty():null;}虽然这不是(如预期的那样):publicstaticbooleanisNullOrEmpty(Strings){if(s!=null)returns.isEmpty();elsereturnnull;}我知道他们两个都是错误的,但当我在我们的源代码中找到第一段代码时,我很惊讶它能编译。编辑:这是来自Java7的JLS的相关部分。我猜第一个语句适用,但粗体语句适用。15.25条件运算

java - 为什么在执行静态 block 时这个Float常量为null?

以下代码在执行时打印niteshnull而不是预期的nitesh130。为什么n在执行静态block之前没有初始化?classtest{static{System.out.println(test.str+""+test.n);}finalstaticStringstr="nitesh";finalstaticFloatn=130f;publicstaticvoidmain(String[]args){}} 最佳答案 str是编译时常量-n不是,因为它是Float类型。如果将其更改为finalstaticfloatn=130f,那么