java基础中的char转化为int和int转化为char的问题

之前一直迷糊,char<== ==>int相互转化的细节
尤其是涉及到某个方法(如StringBuilder类的一个构造方法,下方有展示)的某个参数为 char 类型的时候,如果你不注意传入了一个 int 型的变量,那么就完蛋了

    /**
     * Constructs a string builder with no characters in it and an
     * initial capacity specified by the {@code capacity} argument.
     *
     * @param      capacity  the initial capacity.
     * @throws     NegativeArraySizeException  if the {@code capacity}
     *               argument is less than {@code 0}.
     */
    public StringBuilder(int capacity) {
        super(capacity);
    }
而如果你上来就创建一个包含一个单字符 'c' 的StringBuilder对象的时候,
如果调用 StringBuilder sb = new StringBuilder('c');
那么实际上 sb中保存的什么都没有。
而参数 'c' 的作用在此处则变化为:生成的 sb 对象的初始长度为 'c' 的ASCII值

今天算是茅塞顿开

只需记住一下一点:
int a =10;
char b = (char) a;
则 b 存放的是 ASCII码为10的那个字符

=======================

char a = ‘s’;
int b = a;
则 b 存放的是 字符 ‘s’ 的ASCII 值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值