2017-04-26 82 views
-2

字符在java中是不可变的。如果是这样,有没有办法改变,更新或读取单个字符变量中的多个字符值。提前致谢!数据类型操作Java

String go = "djlfa"; 
Scanner sc = new Scanner(go); 

for(int i = 0; i < go.length(); i++){ 

    Character sym = new Character(sc.next().charAt(i)); 
    System.out.print(sym); 
} 
+0

读取多个char值?一个字符是一个字符。如果你需要存储多个字符,你可以创建一个char数组。字符串在技术上也是一个char数组,所以这是一种更简单的方法来声明它! – coinbird

+0

'char'有两个字节的内存,UTF-16编码,只有一个字节,UTF-8编码。如果你想存储多个'char',那么使用'String';这就是他们所做的! –

+1

请注意,'新角色'的东西是不必要的。 'char sym = sc.next()。charAt(i);'在很大程度上是相同的,只是没有不必要的对象创建。 –

回答

0

是品格在Java

是一成不变的,没有改变现有Character实例的值不会再次调用类的构造方法。

如果是这样,有没有办法更改,更新或读取多个字符值在一个char变量

没有,这是什么String s为对 。 They are also immutable

0

所以你试图把字符串go到包装类型Character? 如果是这样:Character只能存储一个字符 - 而不是5(djlfa),因为您要这样做。

+0

不,我正在努力做到这一点。我想将字符更新为后缀表达式的中缀。我想测试表达式中读取的每个字符。 –