草庐IT

null-stream

全部标签

java - 如何用 Streams 替换 Iterables.filter()?

我正在尝试从Guava迁移到Java8Streams,但不知道如何处理可迭代对象。这是我的代码,用于从可迭代对象中删除空字符串:Iterablelist=Iterables.filter(raw,//it'sIterablenewPredicate(){@Overridepublicbooleanapply(Stringtext){return!text.isEmpty();}});注意,这是一个Iterable,不是Collection.它可能包含无限数量的项目,我无法将它们全部加载到内存中。我的Java8替代品是什么?顺便说一句,有了Lamba,这段代码看起来会更短:Iterabl

java - 为什么 System.in 声明为 nullInputStream() 而不是 null?

在Systemclass、in、out和err是静态字段。例如声明这些字段:publicfinalstaticInputStreamin=nullInputStream();为什么声明nullInputStream()而不是null? 最佳答案 源码有如下注释:/***Thefollowingtwomethodsexistbecausein,out,anderrmustbe*initializedtonull.Thecompiler,however,cannotbepermittedto*inlineaccesstothem,sin

java - 为什么Stream <T> collect方法返回不同的键顺序?

我有以下代码:publicenumContinent{ASIA,EUROPE}publicclassCountry{privateStringname;privateContinentregion;publicCountry(Stringna,Continentreg){this.name=na;this.region=reg;}publicStringgetName(){returnname;}publicContinentgetRegion(){returnregion;}@OverridepublicStringtoString(){return"Country[name="+n

java - getClass().getResource() 总是返回 null

我正在尝试在我的src文件夹中设置位于我的资源文件夹中的图像的URL。它总是将URL设置为空。图像在那里,一切都被正确命名。问题是什么?谢谢!我的文件结构:sp1来源资源01.png这是我尝试设置图片URL的代码:this.setImagePath(getClass().getResource("/resources/01.png"));setImagePath正在执行此操作,我确定这不是问题所在,因为我跟踪了执行并将其设置为null。publicfinalvoidsetImagePath(URLimagePath){this.imagePath=imagePath;}解决方案我必须清

java - 为什么 ThreadPoolExecutor 的 afterExecute() 异常为 null?

我想在ThreadPoolExecutor#afterExecute()方法中处理工作线程抛出的异常。目前我有这段代码:publicclassMyExecutorextendsThreadPoolExecutor{publicstaticvoidmain(String[]args){MyExecutorthreadPool=newMyExecutor();Tasktask=newTask();threadPool.submit(task);}publicMyExecutor(){super(4,20,60,TimeUnit.SECONDS,newLinkedBlockingQueue(

java - 在具有重载构造函数的类中传递 null 时首先调用哪个构造函数?

下面是具有3个重载构造函数的java类:publicclassTest{publicTest(Objecti){System.out.println("Objectinvoked");}publicTest(Stringi){System.out.println("Stringinvoked");}publicTest(intk){System.out.println("Integerinvoked");}publicstaticvoidmain(String[]args)throwsException{Testt=newTest(null);}}如果在创建类的新实例时传递了空值,将调

java - JSch 0.1.53 session.connect() 抛出 "End of IO Stream Read"

我下载了一个新的JSch0.1.53libraryJSch(sftp)下载任务不再有效。此版本在session.connect()函数上失败并抛出错误Session.connect:java.io.IOException:EndofIOStreamRead。我的旧jsch.jar(2011-10-06)在同一台主机上工作正常,也许我缺少新的配置Prop?Sessionsession=null;ChannelSftpchannel=null;try{JSch.setLogger(SSHUtil.createJschLogger());JSchjsch=newJSch();session=

java - 为什么 Java Stream 生成器是无序的?

我尝试使用JavaStreams并行化一些工作。让我们考虑这个简单的例子:Stream.generate(newSupplier(){@OverridepublicIntegerget(){returngenerateNewInteger();}}).parallel().forEachOrdered(newConsumer(){@Overridepublicvoidaccept(Integerinteger){System.out.println(integer);}});问题是它不会为forEachOrdered调用accept方法,它只有在我使用forEach时才有效。我想问题是

java - JPA:在空的多边上将获取结果加入到 NULL

我在User和GameMap之间有一个一对多的关系。一个用户可以拥有多张map。用户类://LAZYLOADED@OneToMany(cascade=CascadeType.ALL,mappedBy="creater")privatefinalListmaps=newArrayList();但是,有时我需要预先加载map。为了避免在关闭session后出现LazyInitializationException,我有两种检索用户的变体。用户存储库:publicinterfaceUserRepositoryextendsJpaRepository{OptionalfindById(Long

org.postgresql.util.psqlexception:错误:列中的null值“ category_id”违反了非悬挂约束

我有一个奇怪的问题:我正在尝试将用户保存在我的数据库中,该用户有一系列技能。这些技能已经在数据库中,链接的类别和类别具有链接的域。结构看起来像这样:当我打印申请人的技能列表时,我有:skills=[Skill{categories=[Category{domains=[Domain{id=4,name=DevOps}],id=13,name=BackEnd}],id=23,name=Java},Skill{categories=[Category{domains=[Domain{id=4,name=DevOps}],id=13,name=BackEnd}],id=24,name=C}],这是在