相关疑难解决方法(0)

为什么我们需要不可变的类?

我无法得到我们需要一个不可变类的场景.
你有没有遇到过这样的要求?或者你可以给我们任何一个我们应该使用这种模式的真实例子.

java design-patterns immutability

73
推荐指数
10
解决办法
4万
查看次数

Java不可变类?

我发现了一篇包含一段有趣代码的文章:

public class Employee {

    private String firstName;
    private String lastName;

    //private default constructor
    private Employee(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public static Employee valueOf (String firstName, String lastName) {
        return new Employee(firstName, lastName);
    }
}
Run Code Online (Sandbox Code Playgroud)

我非常好奇理解创建这种类的优势.我知道这个类的对象是不可变的,因为初始化后无法更改其变量值.我之前从未做过这样的事情,我真的不明白它的优点.

  • 为什么这是一个好习惯?
  • 你能说出一种可以使用这种方法的情况吗?
  • 常量或只读变量怎么样?那不是很相似吗?
  • 在文章中说,这对应用程序的性能不利.但为什么呢?

java

18
推荐指数
1
解决办法
7820
查看次数

为什么我们需要可变类?

我今天读了一章Effective Java.本章是关于最小化对象的可变性.我非常理解为什么不可变对象是好的,比如线程安全,简单等等.我的问题是因为不可变对象有很多优点,是否有任何可变对象首选的情况?

java

3
推荐指数
1
解决办法
2007
查看次数

标签 统计

java ×3

design-patterns ×1

immutability ×1