Integer类型的ArrayList数据如何转化成为int类型的数组数据
这样的问题其实在java中相当困扰人,java可能为了不破坏封装性,更好的体现面向对象的特性,要知道基本数据类型是没有属性与方法的,所以尽可能的不在类中使用基本数据类型。
java在设计的时候为每个基本数据类型设计包装类(Wrapper Class)
| 基本数据类型 | 包装类 |
|---|---|
| byte | Byte |
| boolean | Boolean |
| short | Short |
| char | Character |
| int | Integer |
| long | Long |
| float | Float |
| double | Double |
| 包装类与基本数据类型之间的转换(下面的转换是不完整的,很多情况不能使用此此方法来做): | |
| 基本类型变量------------String.valueof()------------>字符串 | |
| 基本类型变量<------------WrapperClass.parseXxx(string)------------字符串 | |
| 这里对于基本数据类型与包装类还牵扯到一个存储结构的问题: | |
| 我们知道java中的对象、类一般都放在堆中,但是对于基本数据类型,java一般是直接放在栈中的。关于堆和栈为什么要分开,以及分开有什么好处?请查看博文、 |
https://blog.csdn.net/weixin_44385486/article/details/121552394
回到我们的问题本身,怎么做呢
对于String类型的ArrayLIst数据转化成String类型的数组
String [] arr=list.toArray(new String[list.length()]);
对于Integer类型的ArrayList转化为int类型的数组
由于String类型本身就是一个类所以转换器来十分简单,但是对于int类型的数组而言,需要由Integer类型转化为int类型。有两种转换方式。
可以查看
https://blog.csdn.net/qq_41115379/article/details/118416364
https://www.cnblogs.com/oldhands/p/11847039.html?ivk_sa=1024320u



