Java,如何替换String中的一些字符

Hes*_*sam 0 string url android replace

我有一个数组,为我保留String格式的URL地址.在加载URL之前,我需要确保字符串中没有空格.我写了这段代码,但ReplaceAll()不会改变任何东西.

请告诉我这里有什么问题?

public NewsFeedItemList getNewsList() {
        String str;

        for(int i=0; i<newsFeedItemList.getImage().size(); i++){
            str = newsFeedItemList.getImage().get(i);
            Log.i("before>>>", str);
            str.replaceAll(" ", "%20");
            Log.i("after<<<<", str);
            newsFeedItemList.getImage().set(i, str);
        }

        return newsFeedItemList;
    }
Run Code Online (Sandbox Code Playgroud)

ftr*_*ftr 7

字符串是不可变的,这意味着您无法更改String对象的内容.你需要做的是像

String cleanedString = str.replaceAll(" ", "%20");
Run Code Online (Sandbox Code Playgroud)

replaceAll() - Method返回新的String.