有关数据类型的转换
问题
java实验要求实现String类的valueOf()方法,由于对于该类的一个私有化实例域为private char[]chars,而该函数的返回值为自定义的String类。代码如下:
实现思路
在写这个方法时,我想到的是将这个int类型的变量i通过除以10来获取每一位的数值并存入一个ArrayList<Integer>中,然后在定义一个char类型的数组,将Integer类型个list转换成char类型的数组,再创建一个MyString对象返回。但此时便需要进行类型转换。
遇到问题
在做类型转换时,我一开始想到的方法直接将Integer类型的ArrayList直接强制转换为char类型。
第二个解决方案
利用两次类型转换。先用(int)转换为int型,再用’char’转化为char类型,看着就不大对,这样不行
第三个解决方案
先将Integer类型转化为int类型,在进行强制类型转换
最终方案
最终在网上看到一段代码
然后我将这个方法用得到我的代码中,最终完成我的函数:
类型转换先将其转化为int类型值,在与一个char类型的‘0’相加,完成类型转化。其中原理待解决!!!这是从中获得将Integer类型转换为char类型的变量的一个方法,其中有一些问题希望很快获得解答。总结一下该格式:`java
ArrayList<Integer> l = new ArrayList<>();
char c;
c = (char)(l.get(i).intValue() + '0')