获取int的长度是否比这种方法更简洁?
int length = String.valueOf(1000).length();
Run Code Online (Sandbox Code Playgroud) 有人可以向我解释这里发生了什么:
char c = '+';
int i = (int)c;
System.out.println("i: " + i + " ch: " + Character.getNumericValue(c));
Run Code Online (Sandbox Code Playgroud)
这打印i: 43 ch:-1.这是否意味着我必须依靠原始转换来转换char为int?那么如何将a转换Character为Integer?
编辑:是的,如果它不是一个数值,我知道Character.getNumericValue返回-1,这对我有意义.问题是:为什么做原始转换会返回43?
Edit2: 43是ASCII for +,但我希望演员不会成功,就像getNumericValue没有成功一样.否则,这意味着有两种语义等价的方法来执行相同的操作,但结果不同?