tostring() is implicitly called… how?

前端 未结 3 2051
囚心锁ツ
囚心锁ツ 2021-01-17 04:59

In the following code, how is toString() is implicitly called?

class Payload {
    private int weight;
    public Payload (int w) {
        weig         


        
3条回答
  •  轮回少年
    2021-01-17 05:36

    You're calling "p is " + p, which effectively is compiled to

    new StringBuffer("p is").append(p)
    

    This code calls p.toString() within .append() as p is Object.

    Specified by:
    http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html#append(java.lang.Object)

提交回复
热议问题