iT邦幫忙

0

Java: 字元陣列 輸出時入不加Arrays.toString(),會"自動合併陣列的字元"?

  • 分享至 

  • xImage

字元陣列在輸出時入不加Arrays.toString(),會"自動合併陣列的字元",這是只有字元陣列會出現的現象嗎? 合併後的資料型態是String嗎?

不加Arrays.toString()

class Mystring{
    public char[] num ={'a','b'}; 
}

public class ReturnObject{
    public static void main(String args[]){
        Mystring A_string = new Mystring();
    

        System.out.println(A_string.num); //ab
    }
}

加Arrays.toString()

class Mystring{
    public char[] num ={'a','b'}; 
}

public class ReturnObject{
    public static void main(String args[]){
        Mystring A_string = new Mystring();
    

        System.out.println(Arrays.toString(A_string.num)); //[a,b]
    }
}
阿恢 iT邦新手 4 級 ‧ 2022-01-22 13:58:09 檢舉
https://www.freecodecamp.org/news/java-array-methods-how-to-print-an-array-in-java/

這編文章剛好有解答...
crazy iT邦新手 5 級 ‧ 2022-01-22 18:53:10 檢舉
非常謝謝您
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
海綿寶寶
iT邦大神 1 級 ‧ 2022-01-22 17:48:24
最佳解答

字元陣列在輸出時入不加Arrays.toString(),會"自動合併陣列的字元",這是只有字元陣列會出現的現象嗎? 合併後的資料型態是String嗎?

只是「連續顯示字元」
A_string.num仍然是 char[]
沒有合併成 String

請看這篇說明

至於Arrays.toString() 只是個 java 語言提供的方便輸出 Array 內容(支援各種資料型態)的函式
合用就用
如果不合用你就自己 override
Arrays.toString 的範例如下

import java.util.Arrays;

public class HelloWorld{

    public static void main(String args[]){
        int arr1[] = {10, 20, 30};
        char arr2[] = {'A','B','C'};
        String arr3[] = {"Good", "Job", "Tried."};

        System.out.println(Arrays.toString(arr1));
        System.out.println(Arrays.toString(arr2));
        System.out.println(Arrays.toString(arr3));
        
        Person[] aryname = new Person[3]; 
		Person objname = new Person(); 
		Arrays.fill(aryname, objname);
		System.out.println(Arrays.toString(aryname));
	}
}

class Person {
    public String Name = "John Wick";
    public int Age = 22;
    public int yearkill[] = {1000,2000,3000};
}

我要發表回答

立即登入回答