鑑於代碼..爲什麼你不能只是粘貼方法,使其工作?
public class test {
public static void main (String args[]) {
endUp("Hleeloe");
}
public static String endUp(String str) {
if (str.length() < 3) {
return str.toUpperCase();
}
if (str.length() >= 3) {
String sub= str.substring(str.length()-3,str.length());
String front = str.substring(0,str.length()-3);
sub.toUpperCase();
System.out.println(front + sub);
System.out.println(front);
System.out.println(sub);
System.out.println(sub.toUpperCase());
return front + sub.toUpperCase();
}
return str;
}
}
控制檯:
Hleeloe
Hlee
loe
LOE
我想有sub.toUpperCase();將字符串「sub」轉換爲全部大寫字母。但它沒有奏效。你可以看到當我第一次打印出來的時候,它仍然是小寫字母。但是,當我包含sub.toUpperCase();在返回之前的System.out.println()中,它確實打印出控制檯內顯示的所有大寫字母。
這是爲什麼?我如何使它只與sub.toUpperCase()一起工作;部分?
你閱讀的javadoc? –
因爲字符串是不可變的 – Reimeus
它可能會返回一個新的字符串,即它不會修改.place –