字节['?']在Java中是什么意思?
我有个问题。我不知道字节['?']是什么意思;它适用于所有类型的数组,但我对它的实际功能很好奇字节['?']在Java中是什么意思?,java,arrays,Java,Arrays,我有个问题。我不知道字节['?']是什么意思;它适用于所有类型的数组,但我对它的实际功能很好奇 private void copy(InputStream in, File file) { try { OutputStream out = new FileOutputStream(file); byte[] buf = new byte['?']; int len; while ((len = in.read(buf)) &
private void copy(InputStream in, File file) {
try {
OutputStream out = new FileOutputStream(file);
byte[] buf = new byte['?'];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
out.close();
in.close();
} catch (Exception localException) {
}
表达式“?”是字符。它可以隐式地转换为整数int
新字节[arraySize]要求arraySize为int类型。因此,“?”被转换为整数,语句变为:
byte[] buf = new byte[63];
因为63==int“?”。表达式“?”是字符。它可以隐式地转换为整数int
新字节[arraySize]要求arraySize为int类型。因此,“?”被转换为整数,语句变为:
byte[] buf = new byte[63];
因为63==int'?'。在什么上下文中起作用?我很确定这根本没有任何意义。字节['?']和字节[?]之间存在巨大差异。不要重新键入代码,复制它。“?”与char63相同,java中的char只是一个无符号的16位数字。如果有人在公司的生产代码中使用此数字,应向他们发出最后警告。“?”的unicode代码点为63,在此上下文中使用的字符“?”隐式转换为值为63的int。在什么上下文中工作?我很确定这根本没有任何意义。字节[“?”]和字节[?]之间存在巨大差异。不要重新键入代码,复制它。“?”与char63相同,java中的char只是一个无符号的16位数字。如果有人在公司的生产代码中使用此数字,应向他们发出最后警告。“?”的unicode代码点为63,在此上下文中使用的字符“?”将隐式转换为值为63的整数。谢谢,我无法理解:Pchar是一个UTF-16代码单元。Unicode代码点只需要一个UTF-16代码单元?U+003F,因此可以将其写入字符“?”。int'?'==int'\u003F'==63。与ASCII的任何相似之处充其量只是分散注意力,最坏的情况是导致人们不理解Java。@TomBlodget嗯,是的,同意。字符的Javadoc:[字符数据类型]基于原始Unicode规范,该规范将字符定义为固定宽度的16位实体。不管这些东西到底是什么,你的描述比我提到的ascii更真实。但这对“什么”来说并不重要。问题其实并不在于代码对字符进行任何复杂的处理。这个奇怪的“?”在我看来像是国际模糊C代码竞赛中的东西。。。不过,我修正了我的答案。谢谢,我想不出来:Pchar是一个UTF-16代码单元。Unicode代码点只需要一个UTF-16代码单元?U+003F,因此可以将其写入字符“?”。int'?'==int'\u003F'==63。与ASCII的任何相似之处充其量只是分散注意力,最坏的情况是导致人们不理解Java。@TomBlodget嗯,是的,同意。字符的Javadoc:[字符数据类型]基于原始Unicode规范,该规范将字符定义为固定宽度的16位实体。不管这些东西到底是什么,你的描述比我提到的ascii更真实。但这对“什么”来说并不重要。问题其实并不在于代码对字符进行任何复杂的处理。这个奇怪的“?”在我看来像是国际模糊C代码竞赛中的东西。。。然而,我确定了我的答案。