byte[] by = new byte['?'] 是什么意思
我们通常new一个对象的时候,一般是new+一个类的构造函数,按照java命名规则,类名首字母大写,所以构造函数名称也是首字母大写。今天在该代码的时候,看到题目上的那行代...
我们通常new一个对象的时候,一般是new+一个类的构造函数,按照java命名规则,类名首字母大写,所以构造函数名称也是首字母大写。今天在该代码的时候,看到题目上的那行代码,倍感疑惑,①byte是基本类型变量的一种,可以new吗?竟然不报错②不是有Byte这个类吗?为什么用上面的代码?③[ ]里的'?'是什么意思,用什么作用? 希望知道原因的大神解疑答惑,万分感谢!
展开
2个回答
展开全部
1. java中一些基本类型 int, char, short, byte, long, double, float
都可以 new baseType[]
2. 基本类型 byte 对应的对象是 Byte, 但用基本类型的效率会更快,使用Byte(这些对象)则看情况需要。比如 Byte 可以表示null值,基本类型就没有
3. 由于java编译器会自动转传 char 为 int, 所以那条语句可以编译通过,相当于
byte[] by = new byte[(int)'?']; === byte[] by = new byte[63];
都可以 new baseType[]
2. 基本类型 byte 对应的对象是 Byte, 但用基本类型的效率会更快,使用Byte(这些对象)则看情况需要。比如 Byte 可以表示null值,基本类型就没有
3. 由于java编译器会自动转传 char 为 int, 所以那条语句可以编译通过,相当于
byte[] by = new byte[(int)'?']; === byte[] by = new byte[63];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询