gpt4 book ai didi

java - 想知道我是否正确地进行了这个不变性练习

转载 作者:太空宇宙 更新时间:2023-11-04 07:06:32 25 4
gpt4 key购买 nike

我的教授刚刚讨论了可变和不可变,并给了我们这个编码练习来完成。1) 创建一个名为 customer 的 Customer 对象,初始值为 1 和“Cust1”分别。

2) 使用 toString() 方法将客户对象显示到屏幕上。

3) 创建一个名为 name 的 String 对象引用,并将客户的姓名分配给它。

4) 将值“Bo Beep”分配给对象引用名称。

5) 使用 toString() 方法将客户对象显示到屏幕上。

输出应如下所示。

客户{id=1,name=Cust1}

客户{id=1,name=Cust1}

我目前有 2 个单独的类(class),它们在这里。我不确定我是否做对了,我想我已经做对了前2个,但我不确定第3-5个。

任何输入都有帮助,谢谢!

这是我的主课,

package hw01;


public class Main {
static Customer customer = new Customer(1, "cust1");
static Customer name = new Customer(1, "Bo Peep");


public static void main(String[] args) {
System.out.println(customer);
System.out.print(customer);

}
}

这是我的客户类(class)。

package hw01;

public class Customer {

private int id;
private String name;

public Customer() {
}

public Customer(int id, String name) {
this.id = id;
this.name = name;


}

public int getId() {
return id;
}

public String getName() {
return name;
}

@Override
public String toString() {
return "Customer{" + "id=" + id + ", name=" + name + '}';
}

}

最佳答案

听起来#3 应该是这样的:

String name = customer.getName();

然后#4 将是:

name = "Bo Peep";

我认为练习的目标是证明即使 namecustomer.name引用相同String对象,因为 String当您设置 name = "Bo Peep"; 时,它是不可变的你没有改变实际的 String对象,而是创建并引用一个新的 String目的。如果String是可变的,然后打印 customer第二次会显示名称“Bo Peep”。

关于java - 想知道我是否正确地进行了这个不变性练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289121/

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