小胖脚丫儿 2015-11-04 09:07 采纳率: 66.7%
浏览 5879
已采纳

JAVA 8 使用 Lambda 用法时报错,有谁知道怎么解决么?

public class ListErr
{
public static void main(String[] args)
{
// 创建一个只想保存字符串的List集合
List strList = new ArrayList();
strList.add("疯狂Java讲义");
strList.add("疯狂Android讲义");
// "不小心"把一个Integer对象"丢进"了集合
strList.add(5); // ①
strList.forEach(str -> System.out.println(((String)str).length())); // ②
}
}

代码图如下:
图片说明

一直有这个问题,不知道是为什么,有谁知道么?

  • 写回答

6条回答 默认 最新

  • 小胖脚丫儿 2015-11-30 07:47
    关注

    图片说明

    这种写法应该是正确的,最后找到了方法,直接在cmd窗口中,运行Java 类名,就可以正常运行,也不会报错,MyEclipse 和 eclipse 运行都不行的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • threenewbee 2015-11-04 13:33
    关注

    编译器用的是java 8么,str是否需要定义类型(虽然C#不需要,但是java不是很确定,你查下)

    评论
  • threenewbee 2015-11-04 13:34
    关注

    lambda body 代码是否要加 { }

    评论
  • Angoooora 2015-11-06 06:06
    关注

    要加{}, ->右侧是表达式或者一个值的时候不需要加{}

    评论
  • 小胖脚丫儿 2015-11-30 07:39
    关注

    这种写法应该是正确的,最后找到了方法,直接在cmd窗口中,运行Java 类名,就可以正常运行,也不会报错,MyEclipse 和 eclipse 运行都不行的

    评论
  • RhikYn 2019-05-24 20:07
    关注

    在Lambda标准格式的基础上,使用省略写法的规则为:
    1. 小括号内参数的类型可以省略;
    2. 如果小括号内有且仅有一个参数,则小括号可以省略;
    3. 如果大括号内有且仅有一个语句,则无论是否有返回值,都可以省略大括号、return关键字及语句分号。

    箭头要写对减号大于号 ->

    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 VB6.0中PICTUREBOX加载本地图片无法显示
  • ¥100 关于游戏app session获取的问题
  • ¥15 MYSQL数据库建表
  • ¥15 爬虫程序爬取TTGChina网站文章代码
  • ¥35 由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作。
  • ¥15 如何用下图方法在AMESim中搭建离心泵模型
  • ¥15 C#连接服务器,请求时报Ssl/Tsl未能建立安全通道
  • ¥15 xcode15build的c++ dylib在10.15上不兼容
  • ¥15 CPLD如何实现在线逻辑分析
  • ¥15 控制面板卸载无权限!!