java怎么创建一个float类型的ArrayList,然后怎么把这个ArrayList转换成float数组。谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java怎么创建一个float类型的ArrayList,然后怎么把这个ArrayList转换成float数组。谢谢相关的知识,希望对你有一定的参考价值。

不可以直接转换的,float是基本类型,
arraylist里面存储的是对象。。

可以转换为Float数组
List<Float> list = new ArrayList<Float>();
Float[] ary = list.toArray(new Float[0]);追问

你好,感谢你的回答。请问Float跟float是一样的吗?比如说我有两个数组,一个是float类型一个是Float,那么这两个数组是一样的吗?谢谢

追答

Float是对象数组,float是基本类型数组,
两个数组存储的对象不一样
当你声明一个数组
Float[] a = new Float[2];的时候a[0] = null;此时a[0]没有分配实际内存
float[] b = new float[3];的时候b[0] = 0.0F,//此时内存区域存放的是0,有实际内存分配了

Float转换为float的时候,可以利用
for(int i = 0; i < a.length; i++)
b[i] = a[i].floatValue();

明白了没有?

参考技术A ArrayList<Float> al = new ArrayList<Float>();
float[] fs = new Object() 
    float[] toFloatValues() 
        float[] fs = new float[al.size()];
        int i = 0;
        for (float f : al) 
            fs[i] = f;
            i++;
        
        return fs;
    
.toFloatValues();
xxx(fs);

static void xxx(float[] fs) ...
//Java不自带,咱就自己写呗。。

参考技术B List<Float> fl = new ArrayList<Float>(); // 泛型,这ArrayList只能放Float类型
fl.add(1.0f);
Float[] f = new Float[fl.size()];
for (int i = 0; i < fl.size(); i++)
f[i] = fl.get(i);

System.out.println(f.length);追问

你好,感谢你的回答。我想问一下不能通过一条语句就直接转换吗?不要for。类似于ToArray之类的。谢谢

追答

楼下的方法我试了一下,的确可以直接转,呵呵

Float其实就是对float一种类型的封装吧,我是这么理解的。float是基本类型,而Float是一个类,类是有自己的成员和方法的,比如说Float类型的变量可以直接转成String类型,只要点出toString()方法,而float类型的变量就不行。更新你就去找找装箱和拆箱的资料,会让你知道得更多

追问

请问Float[]能转换成float[]吗?因为我有一个方法需要float[]参数,我试了强制转换,但是不行。

追答

这个我就没试过了,其实你可以尝试去把那个方法的入参改成Float[],在方法体里面遍历的时候,直接.floatValue()这个方法,就可以变成float类型了。 如果不能改的话,还是直接遍历写进去吧,我只能做到这么多了。

本回答被提问者采纳
参考技术C Float和float就值来讲是一样的,但是有一点很明确的就是Float可能为空,但是float就不会.追问

你好,感谢你的回答。但是我有一个方法是需要传入一个float[]的,我传入Float[]的时候它提示不能转换。我想用强制转换也不行,请问有什么方法可以把Float[]转换成float[]吗?谢谢

Java基本类型的类包装知识点总结

(1)Double类和Float类实现对double、float基本型数据的类包装。使用Double类的构造方法Double(double num)创建一个Double类型的数据,Double对象调用doubleValue()方法返回该对象含有的double型数据。Float、Byte、Integer、Short、Long类的用法类似。

(2)Character类实现对char基本型数据的类包装。可以使用Character类的构造方法Character(char c)创建一个Character类型的对象。Character调用charVa()方法可以返回该对象含有的char型数据。

技术分享图片

以上是关于java怎么创建一个float类型的ArrayList,然后怎么把这个ArrayList转换成float数组。谢谢的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中list的泛型问题

java list的重复对象怎么去除

java 怎么用float怎么转化为String

定义的时候是int,要怎么转换成float?

numeric 在Java中怎么定义,是啥类型的呢? float?还是double?还是long呢?

javascript 怎么将float强制转换为int类型