基础变量int与char之间的强制转化
今天遇到个问题,将一串数字与英文组成的字符进行排序,要求排序的规则是数字-小写-大写,
首先想到的是按照数字、小写、大写进行桶排序,桶内按照快排进行二次排序,但是需要将英文字符转化成asscii码;找了半天,自己琢磨了一种。
首先java使用unicode编码,而且unicode编码扩展于asscii码,那我理论上可以使用基础类型进行强转。
int i = "c"; //这个是错的
这么玩编译都过不了,然后突然想到其实“c”的写法是一个string,这样一定转化不了的。然后去翻书,最开始学习基础类型char是这么赋值的
char c = 'a';
接着就写对了
int i = 'c';
这样的话就把c的asscii转化了;
再有同样的
char c = 1;
也是一样的道理,但是输出是一个char
主要是因为声明类型不一样的原因。