标签: java-8

使用java.util.stream api + JAVA8解析字符串列表

我想使用新的java8 API(如stream,lambda,谓词)来使用下面的代码,并将其减少到最小行数

public static List<Long> validateChannelList(String channelList) {
    List<Long> channelListNumber = new ArrayList<Long>();
            String[] channels = channelList.split(",");
    for (String channel : channels) {
                    channelListNumber.add(Long.parseLong(channel));
                }
    }
Run Code Online (Sandbox Code Playgroud)

请使用JAVA8帮助将foreach循环或整个方法减少到最小行数

java collections lambda java-8 java-stream

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

如何使用Java 8为每一行添加前缀?

我有一个字符串,并希望为每一行添加一个前缀,从而产生一个新的字符串.

如何使用新的Java 8语法执行此操作?谢谢.

java lambda java-8

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

java中匿名类的用例和优势是什么?

我对匿名类的了解是,当您拥有任何类或接口,并且只有部分代码需要匿名实现或覆盖某个类或接口时,它会增加程序的可读性。但是我有点困惑,假设将来您需要为不同的类实现相同的接口,因此在这种情况下,您必须重构以前的类,那么匿名类还有其他优势吗?(它是否提高了性能?)

java java-8

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

与命令式解决方案相比,Java8 BufferedReader.lines() 流挂起程序

我目前正在 ServerSocket 中编写一个基本的网络服务器,我正在尝试使用 java 8 流来清理我的代码。这一直很顺利,但是当我尝试使用 BufferedReader 使用流读取请求时,我的程序挂起并且请求从未完全读入。我在下面列出了差异。

使用流:

InputStream stream = socket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(stream));
System.out.println("----------REQUEST START---------");
List<String> rawRequest = in.lines()
    .peek(System.out::println)
    .map(line -> line.toString())
    .collect(Collectors.toList());
System.out.println("----------REQUEST END---------\n\n");
Run Code Online (Sandbox Code Playgroud)

没有流:

 InputStream stream = socket.getInputStream();
 BufferedReader in = new BufferedReader(new InputStreamReader(stream));
 List<String> rawRequest = new ArrayList<>();
    try {

      System.out.println("----------REQUEST START---------");
      // read only headers
      for (String line = in.readLine(); line != null && line.trim().length() > 0; line = in.readLine()) {
        System.out.println(line);
        rawRequest.add(line);
      }
      System.out.println("----------REQUEST END---------\n\n");
    } catch (IOException …
Run Code Online (Sandbox Code Playgroud)

java bufferedreader java-8

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

BiFunction&lt;X, X&gt; 和 BinaryOperator&lt;X&gt; 的区别

我无法理解为什么BinaryOperator<Integer>可以A在下面的代码中放置在的位置,而不是BiFunction<Integer, Integer>

A foo = (a, b) -> { return a * a + b * b; };
int bar = foo.apply(2, 3);
System.out.println(bar);
Run Code Online (Sandbox Code Playgroud)

有人可以帮助我理解它。

java java-8 java-stream functional-interface

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

如何.count() list.stream() 的子对象?

public static int amountKurse (List<Studie> lstd) {
    int result = (int) lstd.stream().map(Studie::getKurse).count();
    return result;
}

private Map<Kurs,Integer> kurse = new HashMap<>();

public Set<Kurs> getKurse(){
    return kurse.keySet();
}
Run Code Online (Sandbox Code Playgroud)

我想计算Kurse我所有Studie对象中的数量。我目前的结果是20,什么时候应该是132 我猜我的功能只是计算数量Studie 将不胜感激这方面的一些帮助。

java mapping collections java-8 java-stream

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

早上 8 点后使用 Java8 时间签到

我有以下场景:我有一个登记入住应用程序,如果用户在第 1 天早上 8 点到晚上 8 点之间没有登记入住,那么在上午 8 点(包括在内)之后,用户可以再次登记入住。

例如:

LastCheckin -> JAN 28th 08:01AM Today -> JAN 29th 07:50AM 以上无法登记

LastCheckin -> JAN 28th 00:50AM Today -> JAN 28th 09:10PM 可以在上面签到

LastCheckin -> JAN 28th 07:50AM Today -> JAN 28th 09:50AM 可以在上面签到

LastCheckin -> JAN 28th 05:50PM Today -> JAN 28th 06:50AM 以上无法签到

我的验证功能:

private Boolean validateLastCheckIn(LocalDateTime lastCheckinDate){
        LocalTime checkinTime = LocalTime.MIDNIGHT.plusHours(8);
        LocalDate today = LocalDate.now();
        LocalDateTime todayCheckinTime = LocalDateTime.of(today, checkinTime);

        //if trying to checkIn before limit, but on …
Run Code Online (Sandbox Code Playgroud)

java date java-8

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

在 java 8 中连接整数列表

如何连接整数列表

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
Optional<Integer> result = numbers.stream().reduce((subtotal, element)-> Integer.valueOf(subtotal + ", " + element));
Run Code Online (Sandbox Code Playgroud)

但我有一个例外:

线程“main”中的异常java.lang.NumberFormatException:对于输入字符串:java.lang.NumberFormatException.forInputString(Unknown Source)处的“1, 2”

java string list java-8 java-stream

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

是否有将Java 8升级到Java 11的有效点?

我在一家有许多Java 8项目的公司中工作。这些项目的价值已很高,我们的团队想升级版本。但是,我们需要有效的积分才能解开局势。

这些项目正在使用Spring和Hibernate(如果有用)。

如果有任何事实要点,我们可以给我们公司提供哪些事实要点来升级版本?

有用的有效点的例子有:

  • 安全改进
  • 性能提升
  • 新的库或框架更新可以简化开发过程
  • 带有升级的Java版本的新的可能性/功能
  • ...

可能备份了文档或有用资源的链接。

java spring hibernate java-8 java-11

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

List&lt;Object&gt; 的 Java 流排序元素

我目前正在尝试使用 Java 学习流,但是我偶然发现了一个我无法自己解决的问题。给定具有Person年龄、高度和名称属性的对象列表。我想编写一个方法toString(),按高度对 List 进行排序,以防高度按年龄相等(所有内容均按降序排列)。有没有可能用流来解决这个问题?我知道如何按高度对 List 进行排序,但是我不明白如何获得相等的元素(具有相同高度的人)并按年龄对它们进行排序。

班级Person

public class Person {
    private int age;
    private double height;
    private String name;

    public Person(int age, double height, String name){
        this.age = age;
        this.height = height;
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public double getHeight() {
        return height;
    }

    public String getName() {
        return name;
    }
}
Run Code Online (Sandbox Code Playgroud)

Data 类(在其中创建 toString 方法):

public class Data {
    private List<Person> persons;

    public Data(List<Person> persons){ …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

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