看这段代码:public class Test10
{
public static void main(String[] args)
{
String a = "hello";
Method method = new Method();
method.execute(a);
System.out.println(a);
}
}
class Method
{
public void execute(String name)
{
name = "world";
}
}
打印结果是“hello”,我想打印出“world”,java中有没有什么方法可以解决?
{
public static void main(String[] args)
{
String a = "hello";
Method method = new Method();
method.execute(a);
System.out.println(a);
}
}
class Method
{
public void execute(String name)
{
name = "world";
}
}
打印结果是“hello”,我想打印出“world”,java中有没有什么方法可以解决?
可以用返回值的形式来处理public class Test10
{
public static void main(String[] args)
{
String a = "hello";
Method method = new Method();
a = method.execute(a);
System.out.println(a);
}
}
class Method
{
public String execute(String name)
{
return "world";
}
}
你写的
Method method = new Method();
method.execute(a);
这2句代码跟下面的打印完全没有任何的关系。你可以再execute()中将值返回出来。
在main方法中;用a变量重新赋值;这样就能够打印world
如果要返回改变多个值呢?public class Test10
{
public static void main(String[] args)
{
String a = "hello";
String b = "welcome";
Method method = new Method();
method.execute(a,b);
System.out.println(a);
}
}
class Method
{
public void execute(String name,String name2)
{
name = "world";
name = "java";
}
}
返回改变多个值?为什么要返回改变呢 不明
楼主可以这么想 Java里的引用变量就是指针 对它赋值操作等实际是在改变他的指针地址,用一个变量代替了指针而已
希望没误导楼主
String是静态类和StringBuffer类很相似,但在声明字符串对象有很大的差别。可以从字符串缓冲池上入手。