Rya*_*yan 11 java string refactoring concatenation
我在Java中有一个连接2个字符串的方法.它目前工作正常,但我认为它可以写得更好.
public static String concat(String str1, String str2) {
  String rVal = null;
  if (str1 != null || str2 != null) {
    rVal = "";
    if (str1 != null) {
      rVal += str1;
    }
    if (str2 != null) {
      rVal += str2;
    }      
  }    
  return rVal;
}
以下是一些要求:
任何人都可以用更少的代码来做
Mic*_*rdt 15
仅使用普通if条款:
public static String concat(String str1, String str2) {
    if(str1==null) return str2;
    if(str2==null) return str1;
    return str1 + str2;
}
或者,如果你对括号有着深深的热情:
public static String concat(String str1, String str2) {
    if(str1==null)
    { 
        return str2;
    }
    if(str2==null) 
    {
        return str1;
    }
    return str1 + str2;
}
Jon*_*eet 13
当然:
public static String concat(String str1, String str2) {
  return str1 == null ? str2
      : str2 == null ? str1
      : str1 + str2;
}
请注意,这会在第一个条件中处理"为空"的情况:如果str1为null,则要么返回null(如果str2为null)或str2(如果str2不为null) - 两者都通过返回来处理str2.