2016-04-01 10 views
0

Stringを分割し、すべての要素をArrayListに入れたいと思います。その後、任意の数のArrayListをとり、それを整数変数に入れます。私が試してみましたArrayList要素から整数変数

String eq = "4/2+3*4*2-1"; 

String[] eqList = eq.split("(?<=[+*-/])|(?=[+*-/])"); 

ArrayList list = new ArrayList(); 

for (int i = 0; i < eqList.length; i++) { 
    list.add(eqList[i]); 
} 

:これは私のコードです

int number = Integer.parseInt((String) list.get(0)); 

しかし、それはException in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String

は、私も試してみました。このエラー与える:

int number = (int) list.get(0); 

をしかし、それは、このエラーが発生しますException in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

これはどのように実現できますか?

+0

https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html –

答えて

0

ジェネリックを常に使用してください。これは私のために働きます:

public static void main(String[] args) { 
    String eq = "4/2+32*4*2-1"; 

    String[] eqList = eq.split("(?<=[+*-/])|(?=[+*-/])"); 

    ArrayList<String> list = new ArrayList<String>(); 

    for (int i = 0; i < eqList.length; i++) { 
     list.add(eqList[i]); 
    } 

    int a = Integer.parseInt(list.get(0)); 
    System.out.println(a); 
}