点滴记录,是前进的脚步
2018-05-05 02:58
采纳率: 33%
浏览 804
已采纳

java数组创建方式看不懂请教大神

在jdk自带的api源码中发现这么一行代码:
private TimerTask[] queue = new TimerTask['€ '];
这是啥意思。。创建数组的时候[]不是应该写一个数字表示数组的长度吗怎么写了个' '。。。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

10条回答 默认 最新

  • 潇垚枫语被注册了 2018-05-06 04:51
    已采纳

    1.java中 char类型在0-65535范围内
    2.容量小(char)的数据类型可以自动转换为容量大(int)的数据类型,这是java中的自动类型转换
    3.char类型用来表示在Unicode编码表中的字符,java内部采用Unicode字符集。
    4.private TimerTask[] queue = new TimerTask['€ '];这里面应该是一个控制字符,编码\u0080,只是我们看不出来而已,不过我也不会输入这个控制字符,你可以尝试把光标放进去,需要左移或者右移两次才能从''中出来
    图片说明

    打赏 评论
  • sinat_38281983 2018-05-05 03:07

    这是一个自己创建的一个类,组成的数据

    打赏 评论
  • HuskyFan 2018-05-05 03:41

    那个符号表示的是ASCII码,你自己去看一下是多少,在c中,字符和数字是可以这样使用的,java还没试过,应该也可以

    打赏 评论
  • lbllbl 2018-05-05 04:28

    java中字符(char)可以当一个无符号短整数来使用。空格字符 ' ' 相当于 32,如果是全角空格则是 12288。例:
    char c1 = ' ';

    char c2 = 100';
    int i1 = c1;
    int i2 = c2 + 3;
    以上写法都是有效的

    打赏 评论
  • Etnly 2018-05-05 05:06

    []里边有字符,可以转换成int,表示长度

    打赏 评论
  • 追梦的男孩520 2018-05-05 06:12

    在有些情况下,char型数据可以当做int数据使用。
    例如:
    #include
    int main(){
    int a = 2;
    char b = 'a';
    int c;
    c = a + b;
    printf("%d\n", c);
    getchar();
    }
    对照“ASCII码表”可知,字符“a",对应的ASCII十进制编码为:97;c = a + b等价于c = 97 + b,因此你会发现输出结果为c=99.
    同样的道理,代码”private TimerTask[] queue = new TimerTask['€'];中的'€'等价于ASCII十进制编码。

    ASCII码表如下图:
    图片说明

    打赏 评论
  • a1583753193 2018-05-05 06:33

    char c1 = ' ';

    char c2 = 100';
    int i1 = c1;
    int i2 = c2 + 3;

    打赏 评论
  • Funkingka 2018-05-05 08:19

    []里边有字符,可以转换成int

    打赏 评论
  • cf454800 2018-05-05 08:20

    代表32为 可以转换为int

    打赏 评论
  • weixin_40184548 2018-05-06 05:12

    char型数据可以当做int数据使用, char型数组

    打赏 评论

相关推荐 更多相似问题