Java IF声明是否必要?

pse*_*dom 0 java logic

我有:

String str = "Hello, how, are, you";
Run Code Online (Sandbox Code Playgroud)

我想创建一个帮助方法,从任何字符串中删除逗号.以下哪项更准确?

private static String removeComma(String str){
    if(str.contains(",")){
        str = str.replaceAll(",","");
    }
    return str;
}  
Run Code Online (Sandbox Code Playgroud)

要么

private static String removeComma(String str){
    str = str.replaceAll(",","");
    return str;    
}  
Run Code Online (Sandbox Code Playgroud)

好像我不需要IF语句,但可能有我这样做的情况.如果有更好的方式让我知道.

ass*_*ias 10

两者在功能上是等价的,但前者更冗长,并且可能会更慢,因为它运行额外的操作.

另请注意,您不需要replaceAll(接受正则表达式):replace会这样做.

所以我会去:

private static String removeComma(String str){
    return str.replace(",", "");
}  
Run Code Online (Sandbox Code Playgroud)