相关疑难解决方法(0)

不可变的意思是什么?

这可能是有史以来最愚蠢的问题,但我认为这对新手来说完全是一个混乱.

  1. 有人可以澄清不可变的含义吗?
  2. 为什么是String不可改变的?
  3. 不可变对象有哪些优点/缺点?
  4. 为什么一个可变对象StringBuilder比首字母和副词更受欢迎?

一个很好的例子(在Java中)将非常感激.

java string immutability

383
推荐指数
11
解决办法
17万
查看次数

制作不可变的Java对象

我的目标是使Java对象不可变.我上课了Student.我用以下方式对其进行编码以实现不变性:

public final class Student {

private String name;
private String age;

public Student(String name, String age) {
    this.name = name;
    this.age = age;
}

public String getName() {
    return name;
}

public String getAge() {
    return age;
}

}
Run Code Online (Sandbox Code Playgroud)

我的问题是,实现Student课堂不变性的最佳方法是什么?

java immutability

63
推荐指数
3
解决办法
6万
查看次数

不可变类的示例

我已经知道了不可变类的定义,但我需要一些例子.

java immutability

47
推荐指数
6
解决办法
9万
查看次数

java中使用的技术使字符串不可变?

java中使用的技术使字符串不可变?
或者我如何使我的字符串类不可变.
我只是想知道这背后的逻辑.

java string immutability

2
推荐指数
1
解决办法
731
查看次数

java中如何从可变对象创建不可变对象?

如何创建不可变的星球以便名称不会改变?我很挣扎,因为我认为这是具有可变对象的不可变项目。如果我错了请纠正我。

每次我更改输出中的名称也会更改。我错过了什么吗?

我尝试将所有字段设为私有和最终(不在本例中),但我认为我缺少一些工作代码。

我知道 java.util.Date 已被弃用,但这只是示例。

import java.util.Date;   

public final class Planet {  
    String name;                                                      
    private final Date discoveryDate;  

    public Planet (String name, Date discoveryDate) {               
        this.name = name;
        this.discoveryDate = new Date(discoveryDate.getTime());    
    }

    public String getName() 
        return name;
    }

    public Date getDiscoveryDate() {               
        return new Date(discoveryDate.getTime());     
    }

    public static void main(String [] args) {
        Planet Earth = new Planet("Earth Planet", new Date(2020,01,16,17,28));

        System.out.println("Earth");
        System.out.println("------------------------------------");
        System.out.println("Earth.getName: " + Earth.getName());
        System.out.println("Earth.getDiscoveryDate: " + Earth.getDiscoveryDate());
    }
}
Run Code Online (Sandbox Code Playgroud)

java oop access-modifiers immutability

-1
推荐指数
1
解决办法
826
查看次数

标签 统计

immutability ×5

java ×5

string ×2

access-modifiers ×1

oop ×1