草庐IT

stream_context

全部标签

java - stream.spliterator() 是否关闭流?

stream.spliterator()是否隐式关闭了stream,还是之后需要显式关闭它?Streamstream=Stream.of("a","b","c");Spliteratorspliterator=stream.spliterator();//Somelowleveroperationwiththespliteratorstream.close();//doweneedtoclose?乍一看,.spliterator()方法似乎关闭了stream,但没有调用stream.close()。至少如果我在调用.spliterator()方法后立即关闭它,它似乎不会影响splite

java - 奇怪的 "Resource leak: stream is never closed"如果在循环中抛出异常,则使用 try-with-resources

即使我使用try-with-resources,为什么Eclipse对以下代码发出奇怪的“资源泄漏:zin从未关闭”警告:Pathfile=Paths.get("file.zip");//Resourceleakwarning!try(ZipInputStreamzin=newZipInputStream(Files.newInputStream(file))){for(inti=0;i如果我修改代码中的“任何内容”,警告就会消失。下面我列出了3个修改后的版本,它们都可以(没有警告)。Mod#1:如果我从tryblock中删除for循环,警告就会消失://ThisisOK(nowarn

java - 在 Stream API 中使用 AutoClosable 接口(interface)

这个问题在这里已经有了答案:Java8Streamoffiles,howtocontroltheclosingoffiles?(5个答案)关闭5年前。今天我尝试重构这段代码,它从目录中的文件中读取id,Setids=newHashSet();for(StringfileName:fileSystem.list("my-directory")){InputStreamstream=fileSystem.openInputStream(fileName);BufferedReaderbr=newBufferedReader(newInputStreamReader(stream));Str

java - 这个 Java Strategy 模式是否有多余的 Context 类?

以下代码示例是策略模式的实现copiedfromWikipedia.我的完整问题如下...Wiki的main方法://StrategyExampletestapplicationclassStrategyExample{publicstaticvoidmain(String[]args){Contextcontext;//Threecontextsfollowingdifferentstrategiescontext=newContext(newConcreteStrategyAdd());intresultA=context.executeStrategy(3,4);context=

java - Youtube 数据 API : Get access to media stream and play (JAVA)

我想访问YouTube视频并使用我自己的媒体播放器播放。我可以使用youtube数据API获取视频属性(标题、url等)。我可以访问视频流并使用我自己的媒体播放器(如Android媒体播放器)播放它吗?我正在JAVA中尝试所有这些。提前致谢..:) 最佳答案 /***ThisworkislicensedunderaCreativeCommonsAttribution3.0Unported*License(http://creativecommons.org/licenses/by/3.0/).Thisworkisplaced*int

java - 解析错误 : Parse#enableLocalDatastore(Context )` must be invoked before ` Parse#initialize(Context)`

所以我按照ParseSDK网站上的快速入门指南中的说明进行操作。该应用程序第一次运行良好。但是当我最小化应用程序并从任务切换器再次运行它时,它会强制关闭。这个错误对我来说没有任何意义。Logcat-05-0908:57:40.61119419-19419/com.example.shubhamkanodia.bookmybookE/CrashReporting﹕ParseCrashReportingcaughtaRuntimeExceptionexceptionforcom.example.shubhamkanodia.bookmybook.Buildingreport.05-0908

java - 用 Java-8 Streams 替换 'for' 循环中的 if-else

我尝试将以下简单代码转换为函数式样式for(Stringstr:list){if(someCondition(str)){list2.add(doSomeThing(str));}else{list2.add(doSomethingElse(str));}}是否可以轻松地将此循环替换为流?我看到的唯一选择是使用两个不同的过滤条件对流进行两次迭代。 最佳答案 听起来你可以在条件下使用map:Listlist2=list.stream().map(str->someCondition(str)?doSomething(str):doSo

Java8 : stream findFirst result

我想知道当我知道100时,是否有办法在不使用.orElse()的情况下消除findFirst().get()处的警告%每次都有结果,所以我从来没有得到NoSuchElementException。例如让我们看下面的代码:ListmyList=newArrayList();myList.add("Test");myList.add("Example");myList.add("Sth");StringfisrstString=myList.stream().findFirst().get();//hereIsurelyget"Test"我不知道其他IDE如何处理这个问题,但Intelli

java - 如何在 Java Streams 中记录过滤后的值

我需要log/sysoutJavaStreams中的过滤值。我能够使用peek()方法log/sysout未过滤的值。但是,有人可以让我知道如何记录过滤后的值吗?例如,假设我有一个Person对象列表,如下所示:Listpersons=Arrays.asList(newPerson("John"),newPerson("Paul"));我想过滤掉那些不是“John”的人,如下:persons.stream().filter(p->!"John".equals(p.getName())).collect(Collectors.toList());但是,我必须记录被过滤的那个“约翰”人的详

Java Stream API - 计算嵌套列表的项目

假设我们有一个国家列表:List每个国家都有其地区列表的引用:List(例如美国的州)。像这样:USAAlabamaAlaskaArizona...GermanyBaden-WürttembergBavariaBrandenburg...在“普通的”Java中,我们可以计算所有区域,例如这样:Listcountries=...intregionsCount=0;for(Countrycountry:countries){if(country.getRegions()!=null){regionsCount+=country.getRegions().size();}}是否可以使用Jav