gpt4 book ai didi

java - 在Java中显式初始化String和Enum变量?

转载 作者:行者123 更新时间:2023-12-02 13:11:14 25 4
gpt4 key购买 nike

在下面的代码中删除构造函数中的初始化语句是否更好?

class Dog {

private String name;
private Type type;

public Dog() {
this.name = null;
this.type = null;
}

public static Enum Type {
large, medium, small;
}
}

最佳答案

这要看情况,在什么意义上更好?

如果您最看重简短干净的代码,那么这很好。这是一个例子:

class Dog {
private String name;
private Type type;

public static enum Type {
large, medium, small;
}

这是有效的,因为未初始化的对象null开始。也不需要指定空构造函数。

如果您重视清晰性但仍希望代码尽可能简短,那么

class Dog {
private String name = null;
private Type type = null;

public Dog() {}

public static enum Type {
large, medium, small;
}
}

更好,因为其他(经验较少的)开发人员可以清楚地看到这些值是什么,并且构造函数也被明确定义。

在构造函数中初始化常量值也有其自身的好处:

  • 将声明与值/逻辑明确分开
  • 将来需要时可以灵活添加逻辑(可扩展性)

评估每种情况的利弊,看看你喜欢什么。唯一的异常(exception)是当您使用现有代码库时;在这种情况下,请遵守约定/风格指南。

关于java - 在Java中显式初始化String和Enum变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43947328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com