小编Mak*_*rat的帖子

@jls在javadoc中的含义是什么?

  • @jls 4.3.2.类对象
  • @jls 9.8功能接口
  • @jls 9.4.3接口方法体
  • @since 1.8*/

在一些核心java类中找到这个javadoc,这是什么意思?何时使用javadoc写作?

java javadoc

8
推荐指数
1
解决办法
674
查看次数

为什么Java 8 Stream forEach方法的行为有所不同?

根据我对java 8 lambda表达式的理解,如果我们在花括号中不包含" - >"之后的代码,那么将隐式返回该值.但是在下面的示例中,forEach方法expect Consumer和expression返回值,但编译器没有在Eclipse中给出错误.

List<StringBuilder> messages = Arrays.asList(new StringBuilder(), new StringBuilder());

messages.stream().forEach(s-> s.append("helloworld"));//works fine 

messages.stream().forEach((StringBuilder s)-> s.append("helloworld")); //works fine 

messages.stream().forEach(s-> s); // doesn't work , Void methods cannot return a value

messages.stream().forEach(s-> s.toString()); // works fine

messages.stream().forEach(s-> {return s.append("helloworld");}); // doesn't work , Void methods cannot return a value

messages.stream().forEach((StringBuilder s)-> {return s.append("helloworld");});  // doesn't work , Void methods cannot return a value
Run Code Online (Sandbox Code Playgroud)

s.append返回StringBuilders.toString()返回,String但lambda将其视为void.

我在这里错过了什么?当我们在对象上调用方法时,为什么编译器没有给出错误?

java foreach lambda functional-programming java-8

8
推荐指数
2
解决办法
2481
查看次数

标签 统计

java ×2

foreach ×1

functional-programming ×1

java-8 ×1

javadoc ×1

lambda ×1