据我所知:
Character但是,它有更多的处理(静态.isLetter()方法和其他等).虽然我的问题可能听起来很愚蠢,但它们是:
char,short因为它们具有相同的"内部长度",无论如何,Java中没有无符号的原始类型?Short是final,如果不是,可以Character延长Short?编辑:答案给我错了:有是在Java中一个未签名的原始类型,这是... char.
编辑2:@PatriciaShanahan还提到在算术运算中,char行为类似于无符号16位整数,就像a short.这包括左移,即,符号位被一起携带,就像对short.
Ian*_*rts 20
本质区别在于short签名,char是未签名的.
public class CharVsShort {
public static void main(String[] args) throws Exception {
short ffShort = (short)0xFFFF;
char ffChar = (char)0xFFFF;
System.out.println("all-1s-short = " + (int)ffShort);
System.out.println("all-1s-char = " + (int)ffChar);
}
}
Run Code Online (Sandbox Code Playgroud)
版画
all-1s-short = -1
all-1s-char = 65535
Run Code Online (Sandbox Code Playgroud)
在Java语言规范第4.2节规定,
积分类型
byte,short,int,和long,其值是8位,16位,32位和64位的签名二进制补码整数,分别和char,其值是16位无符号整数表示UTF-16码单位
(我的大胆).它还明确地给出了类型的范围
byte,从-128到127,包括在内 short,从-32768到32767,含 int,从-2147483648到2147483647,包括在内 long,从-9223372036854775808到9223372036854775807,包含在内 char,从'\ u0000'到'\ uffff',包括0到65535| 归档时间: |
|
| 查看次数: |
1926 次 |
| 最近记录: |