Apologies for this silly question, but while I was learning java classes, I tried the following
javap -c java.lang.System | grep -i out public static final java.io.PrintStream out; javap java.io.PrintStream | grep print public void print(boolean); public void print(char); public void print(int); public void print(long); public void print(float); public void print(double); public void print(char[]); public void print(java.lang.String); public void print(java.lang.Object); public void println(); public void println(boolean); public void println(char); public void println(int); public void println(long); public void println(float); public void println(double); public void println(char[]); public void println(java.lang.String); public void println(java.lang.Object); public java.io.PrintStream printf(java.lang.String, java.lang.Object...); public java.io.PrintStream printf(java.util.Locale, java.lang.String, java.lang.Object...);
And I tried to see if I can import java.io.PrintStream
and use print()
or println()
as it is, instead of System.out.println()
.
import java.io.PrintStream;
println('a');
And it came out with a compile error saying
Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method print(char) is undefined for the type array at array.main(array.java:16)
Why can't I use println()
as it is after importing java.io.Printstream
?
PrintStream
object to call it on. – user207421import static System.out;
, which allows you to doout.println()
. That only saves 7 characters though, and given that most IDEs have an autocomplete feature that works onsysout
, it's hardly worth doing. – JonK