我了解基本的 Java 字节码指令以及如何从常量池中引用字段。但我无法解决这两条线之间的差异:
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
具体的区别是什么?
唯一的变化是括号在第一个中指定字符串数组和在第二个中指定整数原语之间的部分。
第一个似乎在开始时只被调用一次,而第二个在每个新条目时被调用。
编辑:
这是实际相关的源代码。我用它来漂亮地打印一棵树。
System.out.println(String.format("%" + this.indent + "s", "") + "├──── " + nodeToString(currNode));
其中 nodeToString 是一个返回 String 类型的方法。
谢谢开导