你可能不知道的 ---> 关于Println(xxx)的重载方法

 1 package day1_7;
 2 
 3 public class PrintlnTest {
 4     public static void main(String[] args) {
 5         //下面都是调用PrintStream类的println()重载方法
 6 
 7         int[] arr = new int[]{1, 2, 3};
 8         //println()方法参数是引用类型(除了char[],String),都是调用重载方法println(Object x)
 9         //而这个重载方法体第一行就会String.valueOf(x),将x转型为String
10         //所以这个方法和println(String)是一样的实现,都是打印引用对象的地址值
11         System.out.println(arr);
12 
13         char[] arr2 = new char[]{'a','b','c'};
14         //记住,对于参数是char[],虽然也是引用类型,但Java给它单独写了一个方法
15         //调用的是重载方法println(char[])
16         //将字符数组的所有元素以字符串形式打印出来
17         System.out.println(arr2);
18 
19         int[] arr3 = new int[]{1, 2, 3};
20         //因为arr3.toString()返回的是String类型,
21         //所以下面调用的是重载方法println(String)
22         //和println(Object)是一样的实现,都是打印引用对象的地址值
23         System.out.println(arr3.toString());
24 
25         char[] arr4 = new char[]{'a','b','c'};
26         //因为arr4.toString()返回的是String类型,
27         //所以下面调用的是重载方法println(String)
28         //和println(Object)是一样的实现,都是打印引用对象的地址值
29         System.out.println(arr4.toString());
30     }
31 }

 

原文地址:https://www.cnblogs.com/zui-ai-java/p/14388455.html