Java - replace() method using values from arrays is changing the array values?

允我心安 提交于 2019-12-02 07:39:21

I suspect your question is "why is chaining .replace acting oddly" and the array is not changing. You can prove that replace does not change the array quite easily:

    System.out.println(Arrays.toString(list));
    encrypt("abc");
    System.out.println(Arrays.toString(list));

So what is going on with your code? Each time you replace a letter you end up with a new string, that again you replace letters on. I don't have your full source code so I'll show with a real simple version:

a = a.replace("a", "b");
a = a.replace("b", "c");
a = a.replace("c", "d");

For "abc" is.... 'ddd'.

The answer to this is to look at each letter at a time and change it. Loop through the string and create a new one.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!