Java字符串未转换为小写

时间:2015-08-06 14:53:03

标签: java string

为什么字符串 function BinaryConverter(str) { var num=str.split(""); var powers=[]; var sum=0; for(var i=0;i<num.length;i++){ powers.push(i); } for(var i=powers.length-1;i>=0;i--){ for(var j=0;j<num.length;j++){ sum+=Math.pow(2,i)*num[j]; } } return sum; }; 在转换为小写后会打印s

"Hello, World"

2 个答案:

答案 0 :(得分:8)

String是不可变的。您需要将String#toLowerCase的结果重新分配给变量:

s = s.toLowerCase();

答案 1 :(得分:2)

字符串是Java中的特殊对象。 Java开发人员故意将它们创建为不可变(出于各种安全和性能原因)。

这意味着当您认为更改String对象的状态时,实际上会创建一个新的String对象(并且之前的对象并未真正更改)。

因此,为了使代码有效,您必须将方法的结果分配给某个字符串:

s = s.toLowerCase();