I understand the basic Java bytecode instructions and how fields are referred from the constant pool. But I cannot make my mind around the differences between these 2 lines:
java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder;
What is the concrete difference?
The only change is the part between parenthesis specifying an array of string in the first one and an integer primitive in the second one.
The first one seems to be called only once at the beginning whereas the second one is called at each new entry.
EDIT:
This is the actual concerned source code. I use it to pretty print a tree.
System.out.println(String.format("%" + this.indent + "s", "") + "├──── " + nodeToString(currNode));
where nodeToString is a method returning a String type.
Thanks for enlightenment