我认为该方法不能直接更改java中的对象,但据我所知我错了。
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
String name = "Boycie";
add(5, list);
add(2, list);
add(3, list);
for(Integer integer:list){
System.out.print(integer + " ");
}
toUpperCase(name);
System.out.println(name);
}
public static void add(int number, LinkedList<Integer> list){
list.add(number);
}
public static void toUpperCase(String name){
name.toUpperCase();
}
有人能解释一下为什么该方法适用于链接列表,但不适用于字符串对象吗?我认为它也不适用于列表,并且我需要有一个返回类型 LinkedList 的方法,就像我对 String 所做的那样。
最佳答案
Java 中的字符串是不可变的,因此对字符串的所有操作都会返回一个新副本。
因此您可以执行以下操作来获得您期望的结果:
LinkedList<Integer> list = new LinkedList<>();
String name = "Boycie";
add(5, list);
add(2, list);
add(3, list);
for (Integer integer : list) {
System.out.print(integer + " ");
}
String newName = toUpperCase(name);
System.out.println(name);
System.out.println(newName);
}
public static void add(int number, LinkedList<Integer> list) {
list.add(number);
}
public static String toUpperCase(String name) {
return name.toUpperCase();
}
关于java - 使用方法更改链接列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41633221/