为什么这样做:
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/