如何解决对于参数类型char [],int运算符+未定义
String x = "abcd";
Arrays.asList(x.toCharArray()).forEach(y -> System.out.println(y + 1));
// this line is giving an error that + operator is undefined for char[] and int.
Arrays.asList(new Integer[]{1,2}).forEach(y -> {System.out.println(y + 1);});
// for integer it is working fine.
当我们使用+
运算符执行类似'a' + 1
的操作时,由于a的ASCII值为97,因此得到98。
那么为什么在上述情况下它不能与char数组一起使用。
对此有何想法?
解决方法
Arrays.asList
将x.toCharArray()
视为对象,因为x.toCharArray()
返回char[]
,因此它被视为一个元素,并且您不能使char[] + int
,要解决这个问题,您可以使用x.chars()
:
x.chars().forEach(y -> System.out.println(y + 1));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。