java - 为什么增量运算符不总是对字符起作用?

标签 java string char int

为什么这样做:

char c = 5;
int i = c++;

但这会抛出一个编译器错误(Invalid Argument to Operator++/--):

int i = argv[0].charAt(0)++;

最佳答案

++ 运算符作用于变量和表达式,返回对可写对象的引用,而不是作用于一般的所有值。换句话说,根本没有办法将递增的 char 的值写回原始字符串,因此 charAt(0)++ 是一个错误。

您可以通过将 argv[0] 转换为字符数组并在该数组中递增一个值来解决此问题。

关于java - 为什么增量运算符不总是对字符起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22915721/

相关文章:

c - 将字符串格式化为 C 中的列

c - 如何在 C 中将 float 转换为 4 字节字符?

C:如何在结构中存储二维字符数组?

java - logback.groovy 配置不记录任何内容

c++ - 在 C++ 中按空格拆分字符串的最快方法

string - MongoDB:使用数学运算符搜索文本字段

将数组中的 char 元素与运算符进行比较

java - 将字体导入 Netbeans

java - 如何从 .t​​xt 文件中读取字符串并根据出现次数将它们排序到 ArrayList 中?

java - Java中的compare()和compareUnsigned()有什么区别