src/share/classes/java/lang/invoke/MethodType.java
Print this page
@@ -31,10 +31,11 @@
import java.lang.ref.ReferenceQueue;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
+import java.util.StringJoiner;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.ConcurrentHashMap;
import sun.invoke.util.BytecodeDescriptor;
import static java.lang.invoke.MethodHandleStatics.*;
import sun.invoke.util.VerifyType;
@@ -715,19 +716,16 @@
* Each type is represented by its
* {@link java.lang.Class#getSimpleName simple name}.
*/
@Override
public String toString() {
- StringBuilder sb = new StringBuilder();
- sb.append("(");
+ StringJoiner sj = new StringJoiner(",", "(",
+ ")" + rtype.getSimpleName());
for (int i = 0; i < ptypes.length; i++) {
- if (i > 0) sb.append(",");
- sb.append(ptypes[i].getSimpleName());
+ sj.add(ptypes[i].getSimpleName());
}
- sb.append(")");
- sb.append(rtype.getSimpleName());
- return sb.toString();
+ return sj.toString();
}
/*non-public*/
boolean isViewableAs(MethodType newType) {