草庐IT

null-stream

全部标签

java - 将字符串转换为 java.util.Stream<Character>

有时我想对字符串中的每个字符做一些简单的事情。不幸的是,因为字符串是不可变的,所以除了循环遍历字符串之外没有好的方法,这可能会非常冗长。如果您改用Stream,则可以做得更短,只需一两行。有没有办法转换String进入Stream? 最佳答案 您可以使用chars()CharSequence中提供的方法自String类实现此接口(interface),您可以访问它。chars()方法返回IntStream,所以你需要把它转换成(char)如果您想转换IntStream至Stream例如publicclassFoo{publicsta

一文读懂函数式接口、Lambda表达式、Stream

前言• Java8中引入很多有意思的新特性,本篇文章我们来聊聊其中三个比较重要的特性:函数式接口、Lambda表达式、Stream流,我们分别从示例用法、底层原理、最佳实践三个方面来了解这些特性。版本• JDK8函数式接口定义• 函数式接口是Java8引入的一种接口,它只包含一个抽象方法。函数式接口的存在是为了支持Lambda表达式,使得我们可以使用更简洁、更灵活的方式编写匿名函数。@FunctionalInterfaceinterfaceCalculator{intadd(inta,intb);defaultintsubtract(inta,intb){returna-b;}staticin

相当于 LINQ SelectMany() 的 Java Stream

什么是Java8Stream相当于LINQ的SelectMany?例如,在C#中,如果我有Dictionary>tags我想变成IEnumerable(字典中所有标签的平面枚举),我会做tags.SelectMany(kvp=>kvp.Value).是否有一个Java等价于Map>那会产生一个Stream? 最佳答案 您正在寻找flatMapmap中包含的所有值:Map>map=newHashMap();Streamstream=map.values().stream().flatMap(List::stream);此代码首先检索m

java - 为 jsonObj.getString 返回 null ("key");

JSONObjectjsonObj={"a":"1","b":null}案例1:jsonObj.getString("a")返回“1”;案例2:jsonObj.getString("b")不返回任何内容;案例3:jsonObj.getString("c")抛出错误;如何使案例2和案例3返回null而不是"null"? 最佳答案 您可以使用get()代替getString()。这样就会返回一个Object并且JSONObject会猜测正确的类型。甚至适用于null。请注意,Javanull和org.json.JSONObject$Nu

java - 是否可以使用 Kafka Streams 访问消息 header ?

加上Headers对于Kafka0.11中的记录(ProducerRecord&ConsumerRecord),在使用KafkaStreams处理主题时是否可以获取这些header?当在KStream上调用类似map的方法时,它提供记录的key和value的参数,但没有我可以看到访问headers的方式。如果我们可以在ConsumerRecord上map就好了。例如KStreamBuilderkStreamBuilder=newKStreamBuilder();KStreamstream=kStreamBuilder.stream("some-topic");stream.map((k

java - 为什么 FindBugs 会忽略我的 null 检查?

谁能解释一下为什么会抛出一个findbug警告:if(m!=null&&m.getModifiedDate()!=null)content.put("ModifiedDate",m.getModifiedDate().getTime());这是有效的:if(m!=null){Datedate=m.getModifiedDate();if(date!=null)content.put("ModifiedDate",date.getTime());}警告:由于被调用方法的返回值,可能会取消引用空指针。是否有可能告诉FindBugs示例1不应该是警告? 最佳答案

java - request.getCharacterEncoding() 返回 NULL... 为什么?

我的一位同事创建了一个基本的联系我们类型的表单,它正在处理重音字符(è、é、à等)。我们在Struts1上使用KonaKartJava电子商务平台。我已将问题缩小到通过HttpServletRequest对象传入的数据。比较类似的(正常运行的)表单,我注意到在旧表单上请求对象的字符编码(request.getCharacterEncoding())返回为“UTF-8”,但在新表单上它返回为NULL,文本来自request.getParameter()已经被破坏了。除此之外,我还没有发现已知良好的形式和新的和损坏的形式之间的任何显着差异。我已经排除的事情:两个HTML页面都有标签:HTM

java - iterable.forEach() 和 iterable.stream().forEach() 的区别

这个问题在这里已经有了答案:WhatisdifferencebetweenCollection.stream().forEach()andCollection.forEach()?(5个答案)关闭8年前。看起来我可以直接在我的集合上调用list.forEach(a->a.stuff()),而不是list.stream().forEach(a->a.stuff())。我什么时候会使用一个而不是另一个(parallelStream()除了..)?

java.lang.illegalArgumentException: Source must not be null

修订记录:内容时间修改错误结论2024.1.14 在代码中某个方法或操作的参数传递了一个空的、不允许为空的参数。这个异常通常在方法中检查到参数为null时抛出。之前的错误结论是认为:easyexcal中第一列参数为空会出现这个报错但经过后期测试原因并不是这个在ExcelUtils类中有这个方法源列表中的每个对象的属性值复制到目标列表的对应对象中在这个过程中BeanUtils.copyProperties(source,target);当copy的source为空则会报错批量导出的时候只要有一条数据为空就会报错publicstaticvoidexportExcelToTarget(Listsou

java - 为什么 Stream.flatMap 不能接受一个集合?

以下面的数据类为例:classCountry{Listregions=newArrayList();ListgetRegions(){returnregions;}}classRegion{StringgetName(){return"somename";}}假设我有一个国家列表Listcountries=newArrayList();我想将它们流式传输到它们的区域和它们相应的名称,我想执行以下操作:countries.stream().flatMap(Country::getRegions).map(Region::getName)...但是该代码无法编译,因为“getRegions