StringBuilder类中方法append()的java 13方法签名,但没有短字符和字节
StringBuilder方法append()有13个方法签名:
append(Object o) {...}
append(String str) {...}
append(StringBuffer sb) {...}
append(CharSequence s) {...}
append(CharSequence s, int start, int end)
append(char[] str) {...}
append(char[] str, int offset, int len) {...}
append(boolean b) {...}
append(char c) {...}
append(int i) {...}
append(long l) {...}
append(float f) {...}
append(double d) {...}
我注意到byte和short是这个列表中唯一缺少的基本数据类型。 尽管如此,使用这些类型的参数确实有效:
public static void main(String... unused) {
short sh = 1;
byte b = 2;
StringBuilder sb = new StringBuilder("abc").append(sh).append(b);
System.out.println(sb);
}
输出:abc12
我的问题是为什么,或者如何,这样做强>
这是因为编译器自动将这些参数提升为int吗
# 1 楼答案
它们都使用
append(int)
见Primitive Data Types