小编Nam*_*man的帖子

使用lambda过滤流并抛出异常

目前我们使用的基本方法的实现Set<String> clients如下 -

if (clients.isEmpty()) {
    throw new InvalidClientException();
}

for (String client : clients) {
    if (!myMay.containsKey(client)) {
        throw new InvalidClientException(client);
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用lambda表达式转换它,如下所示 -

clients.stream().filter(client -> !myMay.containsKey(client) || clients.isEmpty())
            .forEach(InvalidClientException::new);
Run Code Online (Sandbox Code Playgroud)

但这似乎不是以同样的方式工作,参数化构造函数在这里调用错过了吗?

java lambda exception java-stream

2
推荐指数
1
解决办法
1474
查看次数

如何检查罐子是否为多版本

该分离出的最初的问题,我有,假设这是通用就够了。在使用工件之前,如何检查它是否是多版本的jar。

Multi-Release: true
Run Code Online (Sandbox Code Playgroud)

我知道它可以手动寻找到MANIFEST.MFMETA-INF的罐子上面的属性,但有一个命令行选项可用于此?

也许我错过了一些已经存在的其他名称,或者对非常明显的东西视而不见。但是我试图寻找这样的选项jarjava工具,但也没有成功。

java jar manifest java-9 java-module

2
推荐指数
1
解决办法
382
查看次数

如何从maven依赖项构建java 9依赖项

Java9引入了类似于OSGI和Maven Dependecies的强大模块性.

是否有maven插件能够构建检测maven依赖项的java 9依赖项?

例如,来自

<groupId>com.mycompany.app</groupId>
<artifactId>my-module</artifactId>
....
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>23.3-jre</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

module my-module{
    requires com.google.guava;
    exports com.mycompany.app; 
}
Run Code Online (Sandbox Code Playgroud)

我已经阅读了这篇文章,但它没有那么有用 - 如何表达maven对java ee功能的依赖以转换到Java 9?

java modularity maven java-9 module-info

2
推荐指数
1
解决办法
1359
查看次数

将嵌套循环转换为流 Java 8

我正在尝试将下面的嵌套循环转换为流 Java 8。

newself2中的每个元素都是一个字符串列表——["1 2","3 4"]需要改为["1","2","3","4"]。

for (List<String> list : newself2) {
    // cartesian = [["1 2","3 4"],["4 5","6 8"]...] list = ["1 2","3 4"]...
    List<String> clearner = new ArrayList<String>();
    for (String string : list) { //string = "1 3 4 5"
        for (String stringElement : string.split(" ")) {
            clearner.add(stringElement);
        }
    }
    newself.add(clearner);
    //[["1","2","3","4"],["4","5","6","8"]...]
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我所尝试的 -

newself2.streams().forEach(list -> list.foreach(y -> y.split(" ")))  
Run Code Online (Sandbox Code Playgroud)

现在我确定如何将内部 for 循环中的拆分数组添加到新列表 for x?

任何帮助是极大的赞赏。

java loops java-8 java-stream

2
推荐指数
1
解决办法
1280
查看次数

如何使用java 10在maven中添加javafx依赖项

我切换到ubuntu 18.04.其中java 10默认为jvm

现在我使用javafx的应用程序无法再编译了.

 cannot find symbol
[ERROR]   symbol:   class ObservableMap
Run Code Online (Sandbox Code Playgroud)

我尝试将参数添加到maven-compiler-plugin以加载javafx.graphics模块.

        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <compilerArgs>
                    <arg>--add-modules</arg>
                    <arg>javafx.graphics</arg>
                </compilerArgs>
            </configuration>
        </plugin>
Run Code Online (Sandbox Code Playgroud)

结果:

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] module not found: javafx.graphics
Run Code Online (Sandbox Code Playgroud)

当然,java --list-modules | grep fx什么都不返回.

我花了10多个小时试图解决这个问题.

TL:DR我应该怎么做用Java 10编译我的JavaFX模块?

最小项目:

/pom.xml

<project>
    <modelVersion>4.0.0</modelVersion>
    <packaging>jar</packaging>
    <name>java10fx</name>

    <artifactId>java10fx</artifactId>
    <version>0.0.1</version>
    <groupId>my.test</groupId>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <release>10</release>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
Run Code Online (Sandbox Code Playgroud)

/src/main/java/MyApp.java

import javafx.application.Application;
import javafx.stage.Stage;

public class MyApp  extends Application{

    public static void main(String[] args) {
        launch(args);
    } …
Run Code Online (Sandbox Code Playgroud)

java ubuntu javafx java-10

2
推荐指数
1
解决办法
3175
查看次数

Java 8流的最大值(Math :: max)

当我进行测试时,我遇到了流的问题.

代码如下:

public class HelloWorld {
    public static void main(String []args) {

    List<Integer> integers = Arrays.asList(-2, -5, -7, -16);
    Integer integer = integers.stream().max(Math::max).orElse(0);
    System.out.println(integer);

    }
} 
Run Code Online (Sandbox Code Playgroud)

返回值为-15,即列表中的最小数字.但是当我将max()更改为min()时,它会返回最大值.为什么?

java java-8 java-stream

2
推荐指数
1
解决办法
205
查看次数

添加JDK 11时Eclipse Eclipse 4.7错误 - 目标目录不是JDK root

我试图将JDK 11添加到日蚀氧气4.7.0 M2时出错.

在此输入图像描述

我还检查了Eclipse Market Place,但是没有可用于JDK11支持的插件.

有任何修复此错误的建议吗?

java eclipse java-11

2
推荐指数
1
解决办法
2305
查看次数

Java:DTO集合中的值的总和

计算MyDTO,Java 8中amountField的总和

private Double getSum(List<MyDTO> myDTOList) {
    return myDTOList.stream().map(MyDTO::getAmount).reduce(0d, Double::sum);
}
Run Code Online (Sandbox Code Playgroud)

java sum java-8 java-stream

2
推荐指数
1
解决办法
95
查看次数

从java列表中删除特定元素列表后,获取剩余的元素列表?

想象一下,我有一个元素列表.

List<Session> sessions;

想象一下,这里有一些元素.

我有另一个列表,它是上面列表的子列表.

List<Session> successSessions;
Run Code Online (Sandbox Code Playgroud)

顾名思义,后者是第一个列表中的成功会话集.因此剩下的列表是列表failedSessions.

failedSessions使用整个会话列表填充的有效方法是什么successSessions

先感谢您.!!!

java list arraylist

2
推荐指数
1
解决办法
43
查看次数

java 8中两个列表对象的交集

java 8中的两个列表对象的交集.有人能告诉我我做错了什么吗?

List<Student> originalStudent = new ArrayList<>();
List<Student> newStudent = new ArrayList<>();

List<Student> intersectListStudent = new LinkedList<>()

originalStudent.add(new Student("William", "Tyndale",1));
originalStudent.add(new Student("Jonathan", "Edwards",2));
originalStudent.add(new Student("Martin", "Luther"),3);

newStudent.add(new Student("Jonathan", "Edwards",2));
newStudent.add(new Student("James", "Tyndale",4));
newStudent.add(new Student("Roger", "Moore",5));


originalStudent.forEach(n ->
        newStudent.stream()
                .filter(db -> !n.getName().equals(db.getName()) &&
                        !n.getLastName().equals(db.getLastName()))
                    .forEach(student-> intersectListStudent .add(student)));
Run Code Online (Sandbox Code Playgroud)

java arraylist intersect java-8 java-stream

2
推荐指数
1
解决办法
1849
查看次数