java-8相关内容
我继续学习java 8。 我发现了一些有趣的行为: 让我们看看代码示例: //标识值和累加器和组合器 整数summaryAge = Person.getPersons()。stream() //。parallel()//将返回令人惊讶的结果 .reduce(1,(intermediateResult,p) - > intermediateResult + p.age, (i
..
我想创建一个方法来创建一个元素流,这些元素是多个给定流的笛卡尔积(最后由二元运算符聚合到同一类型)。请注意,参数和结果都是流,不是集合。 例如,对于 {A,B}的两个流和 {X,Y} 我希望它生成值 {AX,AY,BX,BY} 的流(简单串联用于聚合字符串) )。到目前为止,我已经提出了这个代码: private static流< T>笛卡儿(BinaryOper
..
当流源是 Reader 时,我无法实现流处理的良好并行化。在四核CPU上运行下面的代码我首先观察到3个核心,然后突然下降到两个核心,然后是一个核心。整体CPU利用率徘徊在50%左右。 请注意示例的以下特征: 只有6,000行; 每行需要大约20毫秒来处理; 整个过程大约需要一分钟。 这意味着所有压力都在CPU上,I / O很小。该示例是一个用于自动并行化的坐便器。 i
..
我有一个ArrayList,并希望按降序排序。我用它 java.util.stream.Stream.sorted(Comparator)方法。以下是根据Java API的说明: 返回由此流的元素组成的流,根据提供的比较器。 此方法返回一个升序排序。我应该更改哪个参数,只是为了降序? 解决方案 您可以使用 Comparator.reverseOrder() 有一个比较器强制反转
..
我对java 8日期格式/解析功能有点沮丧。我试图找到Jackson配置和 DateTimeFormatter 来解析“2018-02-13T10:20:12.120 + 0000”字符串到任何Java 8日期,并没有找到它。 这是 java.util.Date 示例工作正常: 日期日期=新的SimpleDateFormat(“yyyy-MM-dd'T'hh:mm:ss.SSSZZZ”
..
启动 jetty-distribution-9.3.0.v20150612 ,在EC2亚马逊上运行 openjdk 1.8.0_51 Linux机器,是不支持所有配置的ECDHE套件的打印件。 2015年8月12日16时51分20秒主SslContextFactory [INFO]密码TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256不支持 2015-
..
使用Java 8流时,采用列表,从中创建流,执行业务并将其转换回来是很常见的。类似于: Stream.of(-2,1,2,-5) .filter(n - > n> 0) .map(n - > n * n) .collect(Collectors.toList()); 为什么' .collect没有捷径/方便的方法(Collectors.toList())'par
..
Java8在我的JPA EclipseLink 2.5.2环境中继续做着奇怪的事情。我不得不删除 https://stackoverflow.com/questions/26806183/java-8-sorting-行为 昨天因为在这种情况下的排序受到奇怪的JPA行为的影响 - 我通过强制执行最后排序之前的第一个排序步骤找到了解决方法。 仍然在Java 8中使用JPA Eclipseli
..
假设我有一个Java IntStream,是否可以将其转换为具有累积总和的IntStream?例如,以[4,2,6,...]开头的流应转换为[4,6,12,...]。 更多一般来说,应该如何实现有状态流操作?感觉这应该是可能的: myIntStream.map(new Function { int sum = 0; 整数适用(整数值){ 返还金
..
我在 Reflections 库中遇到问题。 我试图动态加载实现特定接口的所有类。 只要我不在这些类中使用lambda表达式(java 8),一切正常(加载所有类)。 我试过升级lib版本,但效果是一样的(java.io.IOException:无效的常量类型:18)。 pom.xml中的依赖和构建 org.reflection
..
考虑以下Java 8代码段。 public static void main(String [] args){ List integers = Arrays.asList(1,2,3,4,5); 消费者消费者= x - >是System.out.print(X); integers.forEach(消费者); } 什么是消费
..
我注意到使用Java 8方法引用的未处理异常有些奇怪。这是我的代码,使用lambda表达式() - > s.toLowerCase(): 公共类测试{ public static void main(String [] args){ testNPE(null); } private static void testNPE(String s){ Thread t = new
..
在Java8中运行以下流示例: System.out.println(Stream .of(“ a“,”b“,”c“,”d“,”e“,”f“) .reduce(”“,(s1,s2) - > s1 +”/“+ s2) ); 收益率: / a / b / c / d / e / f 这是 - 的当然 - 毫不奇怪。 由于 http:// d
..
Java 8中新的Date Time API的一个特性应该是纳秒精度。但是,当我将当前日期时间打印到控制台时,如此 DateTimeFormatter formatter = DateTimeFormatter .ofPattern(“yyyy” -MM-dd'T'HH:MM:SS,nnnnnnnnnZ“); System.out.println(OffsetDateTime.no
..
据我所知,使用Java 8流汇总 List 的方法如下: 列表 vals =。 。 。 ; double sum = vals.stream()。mapToDouble(Double :: doubleValue).sum(); 对我来说, mapToDouble(Double :: doubleValue)似乎有点夸张 - 只是那种
..
当已知时,很容易在目标时为lambda表达式添加序列化支持接口尚未继承 Serializable ,就像(TargetInterface& Serializable)() - > {/ * code * /} 。 我要求的是一种相反的方法,当目标接口 继承时,显式删除序列化支持c $ c> Serializable 。 由于您无法从类型中删除接口,因此基于语言的解决方案可能看起来像(@
..
我有一个包含项目列表的大文件。 我想创建一批项目,使用此批次发出HTTP请求(全部需要这些项作为HTTP请求中的参数)。我可以使用 for 循环轻松完成,但作为Java 8的爱好者,我想尝试用Java 8的Stream框架编写它(并获得延迟处理的好处) 。 示例: List batch = new ArrayList(BATCH_SIZE); for(
..
我正在使用java lambda对列表进行排序。 如何以相反的方式对其进行排序? 我看到了发布,但是我想使用java 8 lambda。 这是我的代码(我使用* -1)作为黑客 Arrays.asList(files).stream() .filter(file - > isNameLikeBaseLine(file,baseLineFile.getName()))
..
我一直在检查即将发布的 Java更新,即: Java 8或JDK 8 。是的,我很不耐烦,有很多新东西,但是,有一些我不明白的东西,一些简单的代码: final Stream stream = Stream.of(1,2,3,4,5,6,7,8,9,10); stream.flatMap(); javadocs publi
..
Map phoneBook = people.stream() .collect(toMap(Person :: getName,Person :: getAddress)); 重复发生时,我得到重复的密钥异常。 当重复出现时,是否可以忽略将值添加到地图中? 当存在重复时它应该继续忽略那个重复的密钥。 解决方案 这
..