2016-11-19 2 views
0

ArrayList의 개체 내부에서 변수를 변경하는 방법을 궁금합니다.ArrayList에서 클래스 가져 오기

나는 myList.get(i);을 시도했지만이 것은 <Object>을 반환하며 이것을 어떻게해야하는지 이해할 수 없습니다.

(기본적으로) 내가 무엇을 가지고 : 내가 목록을 통해 나중에 액세스 할 무엇

ArrayList list = new ArrayList(); 
Issue issue = new Issue(); 
list.add(issue); 

:

issue.myString; 

그래서 명확하게, 내가 ArrayList list 내부 class Issue의 인스턴스를 가지고 바꾸고 싶습니다 issue.myString

+1

캐스트 -.> ** ((문제) list.get (인덱스)) mystring에 ** –

+0

롤 ... 내가 그 시도하지만 분명히 난 그냥 엉망했다고 생각을 괄호를 ... –

답변

2

당신은 (적어도) 두 가지 옵션이 반환됩니다.

이 목록에는 포함 된 경우

를 발행, 당신이 입력 한 목록을 사용할 수 있습니다

List<Issue> list = new ArrayList<>(); 
Issue issue = new Issue(); 
list.add(issue); 

이 방법을 Issue를 반환합니다 list.get(i)처럼 호출합니다.

목록에 포함 된 문제 및 기타 비 - 문제는이 경우

List list = new ArrayList(); 
Issue issue = new Issue(); 
list.add(issue); 
Object object = new Object(); 
list.add(object); 

개체를 사용하면 개체가 먼저 Issue 있는지 확인해야합니다. 예를 들어 Issue` '에 반대

Object rawItem = list.get(i); 
if(rawItem instanceof Issue) { 
    Issue issue = (Issue) rawItem; 
    ... 
} 
1

입력 한 목록을 사용하십시오 :

ArrayList<Issue> list = new ArrayList<>(); 
Issue issue = new Issue(); 
list.add(issue); 

지금 list.get(i)<Issue> 아니라 그냥 <Object>