你理解by reference,by value 就知道原因了 另外,String是不可变类,不能修改
就你的一个函数,你可以按照我的方法修改一下就可以了! modify1(a);======================》改成 String ss=modify1(a); 然后把 public static void modify1(String a) { a += "world!"; }改成 public static String modify1(String a) { a += "world!"; }
全部的程序如下! public class Datetype { public static void main (String[]args) { String a = new String ("Hello"); String ss = modify1(a); System.out.println(ss); int b=0; int bb=modify2(b); System.out.println(bb); int [] c = new int [1];
int cc= modify3(c); System.out.println(cc); } public static String modify1(String a) { return a += "world!"; } public static int modify2(int b) { return ++b; } public static int modify3(int[] c) { return ++c[0]; }}
另外,String是不可变类,不能修改
modify1(a);======================》改成 String ss=modify1(a);
然后把
public static void modify1(String a)
{
a += "world!";
}改成
public static String modify1(String a)
{
a += "world!";
}
public class Datetype {
public static void main (String[]args) {
String a = new String ("Hello");
String ss = modify1(a);
System.out.println(ss); int b=0;
int bb=modify2(b);
System.out.println(bb);
int [] c = new int [1];
int cc= modify3(c);
System.out.println(cc);
}
public static String modify1(String a) {
return a += "world!";
}
public static int modify2(int b) {
return ++b;
} public static int modify3(int[] c) {
return ++c[0];
}}
helloworld
1
1应该是楼主所希望得到的