有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java字符串初始化和默认值

将字符串初始化为

String value = new String("test");

字符串的值被分配到多个位置,若值为null,那个么应该采用默认值test,这意味着若我声明

String value = null;

在某个时刻,如果代码中没有赋值,我会赋值


共 (3) 个答案

  1. # 1 楼答案

    如果以后将变量赋值为null,则不能使用默认值。那是不存在的

    如果你这样做

    String a = "test"; 
    // ...
    a = null;
    

    然后a将具有值null。如果要使用“test”而不是null,则必须明确地执行:

    String actualValue = a;
    if (actualValue == null) {
        actualValue = "test";
    }
    

    或者干脆

    String actualValue = a == null ? "test" : a;
    
  2. # 2 楼答案

    我认为默认情况下,您将无法将value = null更改为value= "test"。如果字符串“test”对您来说非常重要,那么当您访问value时,请执行以下操作:

      if(value == null){
          value = "test";
      }
    

    您可以调用函数getStringValue(),而不是使用value,而不是在代码中的任何地方都写入此条件

     String getStringValue(){
        if(value == null){ 
           value = "test"
        }
        return value;
     }
    

    这与上面提到的检查条件相同,但这会生成更干净的代码,并且您不需要每次都编写该条件

  3. # 3 楼答案

    如果希望字符串不为null,只需在赋值之前检查该值即可

    String value = valueCommingFromSomewhere;
    if (value == null) {
        value = "myDefaultValue";
    }