Ponieważ metoda println()
wywoływana dla instancji obiektu PrintStream
, którym jest System.out
, ma różne przeciążenia. Jeżeli nie podasz w argumencie typu prymitywnego, typu String
, albo char[]
, to dla każdego argumentu innego typu zostanie wywołana metoda toString()
.
W praktyce, jeżeli wrzucasz do niej jedynie argument będący typu char[]
, to wypluje w wyniku tablicę znaków. Jeżeli wrzucasz String
'a i zawierasz pomiędzy jego częściami tablicę typu char
, to obiekt tab
jest wyświetlany jako tab.toString()
.
Poniżej różne przeciążenia metody println()
.
println()
println(boolean x)
println(char x)
println(char[] x)
println(double x)
println(float x)
println(int x)
println(long x)
println(Object x)
println(String x)
Dokumentacja:
http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html