Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
字节['?']在Java中是什么意思?_Java_Arrays - Fatal编程技术网

字节['?']在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代码竞赛中的东西。。。然而,我确定了我的答案。