[Javaベース]システム.out.print()
String a = new String("AA");
System.out.println(a);
출력: "AA"
なぜ値が出力になるのでしょうか?println上でCtrl+ClickはPrintStream Classを見ることができます.
public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}
public void print(String s) {
write(String.valueOf(s));
}
ここでStringvalueOf(x);よく見ると.public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
この時StringtoStringはpublic String toString() {
return this;
}
したがって変数の値は出力となる.String以外のクラスでは、
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
クラス名@メモリアドレスが出力されます.Reference
この問題について([Javaベース]システム.out.print()), 我々は、より多くの情報をここで見つけました https://velog.io/@isg/Java기초System.out.printテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol