java中如何把一个int数组直接变成一个integer数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何把一个int数组直接变成一个integer数组相关的知识,希望对你有一定的参考价值。

java中没有现成的方法?除了遍历外还有没有一些更方便的方法?请高手解答哈,谢谢

int[] aa= new int[5];
Integer[] bb = new Integer[aa.length];
for(int i=0;i<aa.length;i++)
bb[i]= new Integer(aa[i]);

目前所知不带直接转化的. 你可以去看看API, 不过1.7的JDK不知道带不带这个方法. 其实不管是哪个版本的JDK. 你调用他的方法转成Integer型数组了. 他后台的实现 本质肯定还是遍历一遍.还不如自己写个方法封装
参考技术A 数组类型转换其他类型,只能是其超类(或接口)的数组类型。
虽说Integer类是int的包装类,但不代表它们所产生的数组对象是具有关系的。
所以它们是不能相互转型。估计未来也不会提供有明显的便捷API,因为这些会容易误导初学者。

请提问者自行写个方法辅助吧,楼上的回答者也提供了一些示例。
参考技术B import java.util.ArrayList;
import java.util.List;

public class test

/**
* @param args
*/
public static void main(String[] args)
// TODO Auto-generated method stub
parseIntToInteger(new int[] 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 );



public static void parseIntToInteger(int[] nums)
Integer[] in = new Integer[nums.length];
for (int i = 0; i < nums.length; i++)
in[i] = Integer.valueOf(nums[i]);
System.out.println(in[i]);



本回答被提问者采纳
参考技术C int [] a= new int[]1,2,3,4,5;
Integer [] aa= new Integer[a.length];

for(int i=0;i<a.length;i++)
aa[i] =a[i];
参考技术D public Integer[] getIntegerArray(int[] a)
Integer[] b = null;
if(a!=null&&a.length!=0)
b = new Integer[a.length];
for(int i=0;i<a.length;i++)
b[i]=a[i];


return b;

java 中double如何转为string

基础类型转换为String类型可以有一下集中方法,

1.使用字符串拼接的方法,代码实例如下:

System.out.println((a+"") instanceof String);

这样就可以直接转为String类型

2. 使用String.valueOf方法,转为String类型

String.valueOf(a);

测试代码和结果如下

资料拓展:

如果这2种类型是兼容的,那么Java 将自动地进行转换。

如果这2种类型是兼容的,那么Java 将自动地进行转换。例如,把int 类型的值赋给long类型的变量,总是可行的。

然而,不是所有的类型都是兼容的。因此,不是所有的类型转换都是可以隐式实现的。例如,没有将double 型转换为byte 型的定义。

幸好,获得不兼容的类型之间的转换仍然是可能的。要达到这个目的,你必须使用一个强制类型转换,它能完成两个不兼容的类型之间的显式变换。让我们看看自动类型转换和强制类型转换。

参考资料:

百度百科-Java

参考技术A 由于double是基本类型,所以没有toString方法。
可以使用String.valueOf(double)方法,也可以用最笨的方法,就是直接+;
如:String str = ""+double;用空字符串加上数字就好了。本回答被提问者采纳
参考技术B toString()和String.valueOf()以及空字符串加法运算,这三种方法针对数值较小的Double类型没有问题,但是数值比较大的会输出科学计数法的结果;所以,为了规避bug,最好使用String.format()的方式。示例如下:
Double db = 26345548.00;
String s = db.toString(); // "2.6345548E7"
s = String.valueOf(db); // "2.6345548E7"
s = "" + db; // "2.6345548E7"
s = String.format("%.2f", db); // "26345548.00"
参考技术C toString?或者用String.valueOf 参考技术D 比如说double a = 1.2;
你可以直接String str;
让str = ""+a;
str就变成"1.2"了

以上是关于java中如何把一个int数组直接变成一个integer数组的主要内容,如果未能解决你的问题,请参考以下文章

int数组 如何转换为 string

java 中double如何转为string

用java将一个字符串变为int型数组

java中byte数组与int类型的转换(两种方式)

java中,如何把一个字符串转换成数组?

怎么把char 数组转换成String?