草庐IT

null-stream

全部标签

java - 从java中的stream api调用方法

我是Java8的新手。我正在尝试以下场景。classNumbers{privateLonguserId;privateLongnumber1;privateLongnumber2;}Listlist=newArrayList();Input=={"userId":1,"number1":10,"number2":20}{"userId":1,"number1":20,"number2":40}输出::map{"userId":1,"sum":90//additionofallnumbersassociatedwithuserId}我想使用java8streamapi。我正在尝试这样,但

Java 收集 `set` 的分组和映射,但如果所有值都是 `null` 则需要一个空集

在我的Java11应用程序中,我想从存储库获取产品更新。一个产品更新有一个updateId和一个要更新的productIds列表。如果没有应该更新的产品编号以使用updateId=X更新,我仍然想写入另一个表,我已经处理了更新X;updateStatusRepository.setStatusProcessing(updateId)和updateStatusRepository.setStatusProcessed(updateId)仍应为此updateId调用。如果存在产品更新,它们应该在ProductProcessingService中进行处理。现在,groupingBy和mapp

java - 为什么我需要将 IntStream 映射到 Stream<Character>

publicstaticintconstruction(StringmyString){Setset=newHashSet();intcount=myString.chars()//returnsIntStream.mapToObj(c->(char)c)//Streamwhyisthisrequired?.mapToInt(c->(set.add(c)==true?1:0))//IntStream.sum();returncount;}如果没有以下代码,上述代码将无法编译:.mapObj(c->(char)c)//Streamjava.util.stream.IntStream.ma

java - 外键中的 JPA/Hibernate OneToOne Null

我有以下两个具有双向OneToOne关系映射的实体,数据访问由HibernateEntityManagerv.“3.5.1-Final”提供。@Entity@Table(name="details")publicclassDetails{privateLongid;privateUseruser;publicvoidsetUser(Useruser){this.user=user;}@OneToOne@JoinColumn(name="user_id")publicUsergetUser(){returnuser;}@Id@GeneratedValue(strategy=Generat

java - 在 Java 中使用 for 循环,是否必须指定 not null?

好吧,我有一个原始对象数组,因为我不能从数组中删除它们,所以我改为将对象在数组中的位置更改为null。但是,如果我想通过以下方式遍历数组中的每个对象:for(Derpderp:derps){derp.herp++;}我必须做这样的事情吗?for(Derpderp:derps){if(derp!=null){derp.herp++;}}或者我的第一种方式会好吗?for循环是否会“知道”它只需要迭代Derp对象,而不是空对象,因为我已经将它声明为Derp对象?或者它只是把它当作一个Derp对象,因为我已经说过它会是,并且当它试图迭代一个非Derp对象时会导致错误?还是null仍然是一个De

java - 在 Java 8 的链式语句中检查 null 或检查异常的正确方法是什么?

例如这段代码:Listclasses=Stream.of("java.lang.Object","java.lang.Integer","java.lang.String").map(className->Class.forName(className)).collect(Collectors.toList());这段代码现在运行良好。但是,假设我们在流中有一个空列表,并且我们对流进行了大量操作。它可以获得NullPointer异常等。我发现也很难尝试捕捉这种陈述。为此处理异常的正确方法是什么? 最佳答案 您不需要检查空值。如果您有

java - 不被 Stream.distinct() 过滤的相等对象

我有一个Element对象流,我需要根据相等性对其进行过滤。使用.distinct()似乎很容易,但我得到了异常结果。即使对象返回相等,它们也不会被.distinct()过滤。我错过了什么?证明如下——Listelements=getStream().filter(e->e.getName().equals("userId")).collect(Collectors.toList());System.out.println("Elementswithsamename:"+elements.size());if(elements.size()>1){System.out.println(

java - JAX-RS (Reasteasy) Response.readEntity 抛出 : IllegalStateException: RESTEASY003290: Entity is not backed by an input stream

我对发送JAX-RSPOST调用的方法进行了JUnit测试。为了独立于外部资源,我mock了REST客户端并表示应该返回一个虚拟响应。效果很好,没问题。但是:当调用myResponse.readEntity(String.class)时,我总是得到以下异常:java.lang.IllegalStateException:RESTEASY003290:Entityisnotbackedbyaninputstream这是我失败的代码片段:importcom.google.gson.JsonObject;importcom.google.gson.JsonPrimitive;importja

java - 如何使用 Streams 将 2D int 数组转换为 2D String 数组?

我正在尝试使用以下代码将2Dint数组转换为2DString数组:Arrays.stream(intArray).map(a->Arrays.stream(a).map(i->Integer.toString(i)).toArray()).toArray(String[][]::new);但是我在执行Integer.toString(i)时遇到编译时错误cannotconvertfromStringtoint。我认为这可能是因为我正在收集String数组中的int数组的流式传输结果,但map没有创建新的集合? 最佳答案 Arrays

java - 如何逐条读取一个 Stream?

JavaStream.forEach函数有一个严重的限制,即它的消费者不可能抛出已检查的异常。因此,我想一个一个地访问Stream的元素。我想做这样的事情:while(true){OptionaloptNewString=myStream.findAny();if(optNewString.isPresent())doStuff(optNewString.get());elsebreak;}然而,findAny是短路端子操作。也就是说,它关闭流。这段代码会在while循环的第二次迭代时崩溃。我不能简单地将所有元素放在一个数组中,然后一个一个地遍历该数组,因为可能有数千万个元素。请注意,