假设要初始化一个byte数组,有以下两种方法://方法1:
byte[] b = {(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};
//方法2:
byte[] b = new byte[]{(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};哪一种更加规范?效率更高呢?或者说,在哪几种情况下,使用其中哪种方法更好?
byte[] b = {(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};
//方法2:
byte[] b = new byte[]{(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};哪一种更加规范?效率更高呢?或者说,在哪几种情况下,使用其中哪种方法更好?
解决方案 »
- JAVA文件读取TXT文件获取字符编码
- 50分求一个能够把java程序的堆栈信息打出来的免费工具
- 灯泡断电属于异常吗?
- 如何用TCP传送一个BufferedImage???紧急求助
- 一个较难的算法问题???
- jdbc 连接oracle,报Exception in thread "main" java.lang.SecurityException: Prohibited package name: java.sql
- 两天没解决(高手请进)
- tomcat under linux
- 哪有web service的介绍?中英均可。
- 请指教java doc 中的applet demo Animator
- 谁有NetBeans视频教程
- 如何把java程序中引用到图片打包进jar
方法2的右边叫作“数组字面量”,可用在任何需要一个byte数组的地方。
{
public static void main(String[] args)
{
//方法1:
byte[] a = {(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};
//方法2:
byte[] b = new byte[]{(byte) 0x4040, (byte) 0x2001, (byte) 0x0000};
}
}编译后的字节码被反编译后:class Test
{ Test()
{
} public static void main(String args[])
{
byte a[] = {
64, 1, 0
};
byte b[] = {
64, 1, 0
};
}
}
为啥写成这样(byte) 0x4040,这不是两个字节吗?