java - 将 List<Integer> 转换为字符串

标签 java eclipse string lambda

我有一个整数序列 ( List<Integer> ),并希望将其转换为字符串。我不明白为什么这段代码不起作用:

sequence.stream().map(n -> n == 1 ? "+" : (n == -1 ? "-" : Integer.toString(n))).collect(Collectors.joining(","));

如你所见,我想要1表示为+-1- .

我收到错误消息 Type mismatch: cannot convert from Stream<Object> to <unknown> .

最佳答案

编辑

读完评论就知道Java没问题了:

Eclipse 不知道n == 1 吗? "+": (n == -1 ? "-": Integer.toString(n))).toString() 是一个字符串。

sequence.stream().map(n -> (String)((n == 1 ? "+" : (n == -1 ? "-" : Integer.toString(n))))).collect(Collectors.joining(","))

工作正常。

编辑

如果将其提取到函数中,Eclipse 就会知道它是一个字符串:

private static String format(Integer n) {
    return n == 1 ? "+" : (n == -1 ? "-" : Integer.toString(n));
}

关于java - 将 List<Integer> 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37627801/

相关文章:

JAVA登录页面;如何使用两次读记事本?

java - 变量的值与分配的值不同

java - 以编程方式将 transitionName 添加到工具栏标题 (Android)

java - 为什么用充气城堡解密后会附加这些方形符号?

java - 在执行 getTemplate ("report.ftl"时遇到 java.lang.NullPointerException )

eclipse - Java/Eclipse - 指定当前方法名称的宏?

c - 如何从包含宏名称的字符串访问宏

python - 在任意索引处有效地划分字符串

c - 赋值从指针生成整数,无需强制转换 c[a0][4] ="YES";我不明白出了什么问题 int 整数 t 已经声明了

java - Eclipse + GWT -> 开发模式内存不足