2016-04-01 2 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); 
} 
Смежные вопросы