草庐IT

null-propagation-operator

全部标签

java - JPA 映射中的原始类型。如果数据库列可能为 NULL 怎么办?

给定使用JPA映射的此类(使用JPA1.0和Hibernate):@EntitypublicclassFoo{privateintbar;/*...*/}如果我尝试加载BAR列设置为NULL的记录,会发生什么情况?是否可以指定当相应列为NULL时如何设置bar字段?注释我知道这不是最佳做法。这个问题更多是出于好奇,也是受到这种情况的启发:数据库表是一个暂存表:添加NOTNULL约束是不切实际的。坏数据是预料之中的,我的代码的重点是在将数据加载到“真实”数据库之前验证、清理和/或拒绝数据。我有一些字段可接受的默认值。例如,一个boolean标志应该默认为false。

java - 如何更好地重构可以在 java 中返回 null 的方法链?

我有这样的代码:obj1=SomeObject.method1();if(obj1!=null){obj2=obj1.method2();if(obj2!=null){obj3=obj2.method3();if(obj3!=null){............returnobjN.methodM();}}}....我有将近10步。它看起来非常脆弱且容易出错。有没有更好的方法来检查空链方法?谢谢。 最佳答案 您可以使用java.util.Optional.map(..)链接这些检查:returnOptional.ofNullable

java - token 端点 : Handling Null Pointer Exception

我尝试通过curl执行此命令从我的oauth2服务器请求代码curl-XPOST-k-vuclientapp:123456http://localhost:8080/oauth/token-H"Accept:application/json"-d"grant_type=authorization_code&scope=read%20write&client_secret=123456&client_id=clientapp&code=appcode&redirect_uri=localhost:3000"响应是*Addinghandle:conn:0x608860*Addinghand

java - 添加 "\0"(null)后是否可以向字符串添加数据?

我有一个正在创建的字符串,我需要向该字符串添加多个“\0”(空)字符。在每个空字符之间,是其他文本数据(只是ASCII字母数字字符)。我的问题是,在J2SE中,当您添加第一个空值(\0)时,java似乎确定它是一个字符串终止符(类似于C++),并忽略所有其他附加的数据。不会引发错误,只是忽略尾随数据。我需要在字符串中的null之后强制附加尾随数据。我必须为我支持的遗留数据库执行此操作。我曾尝试对字符串进行编码/解码,希望像%00这样的东西会欺骗对字符串行为的解释,但是当我重新编码字符串时,Java再次看到空字符,并在第一个为空。更新:这是相关的代码片段。是的,我正在尝试使用String

java - 通过 CGLIB 代理时方法注释为 null

通过反射查找属于通过CGLIB代理的类的方法的注释时,我遇到了一个奇怪的行为。我们在Spring中使用CGLIB,如果我仅使用注解来注解一个方法,它会很好地工作(我能够通过对应的getAnnotations()对象上的Method方法检索注解)。如果我改为使用2个注释来注释该方法(无论注释的顺序如何),getAnnotations()只需返回null.两个注释都有RetentionPolicy.RUNTIME.我读到CGLIB存在一些问题,但奇怪的是它仅适用于一个注释,而当我放置2个注释时它返回null。有什么建议吗?(使用Spring3.0.5和CGLIB2.2.2)添加代码:第一个

Java 8 流 IllegalStateException : Stream has already been operated on or closed

我正在尝试使用StreamAPI生成Order实例。我有一个创建订单的工厂函数,一个DoubleStream用于初始化订单金额。privateDoubleStreamdoubleStream=newRandom().doubles(50.0,200.0);privateOrdercreateOrder(){returnnewOrder(doubleStream.findFirst().getAsDouble());}@Testpublicvoidtest(){StreamorderStream=Stream.generate(()->{returncreateOrder();});or

java - Iterables.find 和 Iterators.find - 不是抛出异常,而是获取 null

我正在使用google-collections并尝试找到第一个满足Predicate的元素,如果不满足,则返回'null'。不幸的是,当没有找到元素时,Iterables.find和Iterators.find会抛出NoSuchElementException。现在,我不得不做Objectfound=null;if(Iterators.any(newIterator(...),my_predicate){found=Iterators.find(newIterator(...),my_predicate)}我可以用“try/catch”包围并做同样的事情,但对于我的用例,我会遇到很多没

java - Scala - 当一个参数必须为 null 时,如何明确选择要使用的重载方法?

全部,我正在通过使用BufferedImages和Raster对象在Scala中进行一些图像处理。我正在尝试使用以下代码获取缓冲图像中的所有像素。valraster=f.getRaster()//PreallocatingthearraycausesArrayIndexOutOfBoundsException..http://forums.sun.com/thread.jspa?threadID=5297789//RGBchannels;valpixelBuffer=newArray[Int](width*height*3)valpixels=raster.getPixels(0,0,

java - OpenSAML bootstrap() net me "InputStream cannot be null"

部署环境:WindowsServer2008、Tomcat7.0.5、OracleJRE1.6。开发环境相同加上EclipseHelios。当我尝试部署使用OpenSAML2.3.1的Java应用程序并对其进行实时测试时,它不想运行。查看源代码和堆栈跟踪,似乎DefaultBootstrap.bootstrap()最终导致java.lang.IllegalArgumentException:InputStreamcannotbenull。我在下面包含了完整的堆栈跟踪。目标部署系统上的软件版本与我的开发箱上的完全相同,或者至少应该是,一切都运行良好,但当然我没有使用.war进行部署。我有

Java - 获取/设置方法接收和返回 "null"

我是Java的初学者。出于培训目的,我正在尝试为自己构建一个国际象棋游戏应用程序。在我的Case类中,它将用于实例化我的板的所有64个案例,我编写get/set方法来查找案例实例中是否有Piece占用者。我读到返回“null”是一种不好的做法,所以我抛出一个异常来表示这个案例是免费的。但是,我想知道如何将占用者的指针设置为“null”;我可以在调用此方法时简单地将“null”作为参数推送吗?此外,获取/返回“null”是否可以接受/良好实践?publicPiecegetOccupant(){if(this.occupant==null)thrownewIllegalArgumentEx