我有这样的代码:
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。答案 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);