为什么不能修改我的角色

时间:2016-01-12 08:37:22

标签: java

我有这个功能:

private StringBuilder eliminarRetornoCarro(String parametro) {

    final StringBuilder sb = new StringBuilder(parametro);

    final int number = 111;

    for (int x = 0; x < sb.length(); x++) {
        if (sb.codePointAt(x) == number) {
            sb.setCharAt(x, ' ');
        }
    }
    return sb;
}

这是我的主要课程:

fff ob= new fff();
String cadena="cadena de texto";
ob.eliminarRetornoCarro(cadena);
System.out.println(cadena);

为什么我的函数不会返回我在主类中修改过的字符,所以这将是一个好结果:

cadena de text

但返回=&gt; cadena de texto

为什么我的函数没有返回正确的值?正如您所看到的,对象sb保持正确的值,但在主类中它不正确。

1 个答案:

答案 0 :(得分:7)

您忽略了方法返回的值。你应该使用它:

cadena = ob.eliminarRetornoCarro(cadena).toString();

如果eliminarRetornoCarro()返回String而不是StringBuilder(即return sb.toString();而不是return sb;并更改返回类型,那会更好。< / p>