好的我需要字符串“H”更改为“KeyEvent.VK_ +(输入的字符串H)”由于某种原因,我无法将变量从H更改为主类中的新字符串。但它在其他课程中确实发生了变化。任何帮助都会很棒。
主类
Convert ConvertObject = new Convert();
String word = "H"
ConvertObject.Convert(word);
System.out.println(word); // this keeps printing out H but it needs to print out
"KeyEvent.VK_H"
转换类
public static String Convert(String x) {
x = "KeyEvent.VK_" + x;
System.out.println(x);
return x;
答案 0 :(得分:7)
由于Java使用按值传递,因此方法中的任何修改仅对局部变量进行。您需要保存方法的结果才能获得所需的效果:
word = ConvertObject.Convert(word);
答案 1 :(得分:0)
Java中的所有内容都是按值传递的,这意味着String的副本将传递给您的方法,并且会更改,而不是Main类中的原始对象。