java更改数组中的元素类型

时间:2011-12-30 13:30:40

标签: java arrays

我有这样的代码:

public class Main{
    public static void main(String args[]) {
    String s="null, arco, baleno";
     Object[] arr=s.split("\\,");
     for (int i=0; i<arr.length; i++)
     {
         System.out.println(arr[i]);
     }
    }
}

我需要将arr [0]或其他元素的类型从String更改为int或其他类型,我该怎么做?

提前谢谢。 ciao h。

3 个答案:

答案 0 :(得分:2)

你做不到。 Java数组存储单一类型的元素。

这与您可以执行的python列表不同

 l = ['a',2, 3.0]

在java中,您必须创建所需类型的不同数组,并相应地转换数组的每个元素,即通过解析它。

答案 1 :(得分:2)

试试这个

Integer.parseInt(arr[i]);

将其分配给新的整数数组,如

newArray[i] = Integer.parseInt(arr[i]);

newArray是一个整数数组

答案 2 :(得分:2)

您可以通过以下不同方式从字符串更改为int。

Integer.parseInt(arr[i].toString());
Integer.valueOf(arr[i].toString()).intValue();
Integer temp=new Integer(arr[i].toString());

您可以将arr[]的元素解析为int并存储到另一个数组中,如下所示。

public class Main
{
    public static void main(String args[])
    {
        String s="1,2,3";
        Object[] arr=s.split("\\,");
        int temp[]=new int[arr.length];

        for(int i=0; i<arr.length; i++)
        {
            temp[i]=Integer.parseInt(arr[i].toString());
            System.out.println(temp[i]);
        }
    }
}

您可以将数据类型转换为其他数据类型,如下所示(使用自动装箱拆箱技术)。

    Float f=new Float(arr[0].toString());
    f=Float.parseFloat(arr[0].toString());
    f=Float.valueOf(arr[0].toString()).floatValue();

    Double d=new Double(arr[0].toString());
    d=Double.parseDouble(arr[0].toString());
    d=Double.valueOf(arr[0].toString()).doubleValue();

    Long l=new Long(arr[0].toString());
    l=Long.parseLong(arr[0].toString());
    l=Long.valueOf(arr[0].toString()).longValue();

    Byte b=new Byte(arr[0].toString()).byteValue();
    b=Byte.parseByte(arr[0].toString());
    b=Byte.valueOf(arr[0].toString()).byteValue();

    Short sh=new Short(arr[0].toString());
    sh=Short.parseShort(arr[0].toString());
    sh=Short.valueOf(arr[0].toString()).shortValue();

    String str=String.valueOf(arr[0]).toString();

    Boolean bool=true;
    String boolStr=bool.toString();

    boolean boolPri=false;
    boolStr=String.valueOf(boolPri);