2017-11-21 1 views
-4

문자열을 매개 변수로 사용하고 해당 문자열을 사용하여 ArrayList의 이름을 지정하고 작성하는 메서드를 만들려고합니다. 웬일인지, 자바는 나에게 이름을주기 위해 문자열을 통과하는 것을 좋아하지 않는다. 이 문제를 해결할 방법이 있습니까?문자열로 ArrayList를 만들 수 없습니다.

public Module(String assignmentName){ 
    ArrayList<Assignment> assignmentName = new ArrayList<Assignment>(); 
} 

도움을 주시면 감사하겠습니다.

+0

이미 시도한 것을 보여줍니다. – CodeMatrix

+0

자, 이제 우리가하려는 일이 분명 해지면 이것이 [X/Y 문제] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)입니다.). 왜 argument에 의해 제공되는 문자열을 * local * 변수의 이름으로 사용 하시겠습니까? 그건별로 의미가 없습니다. 당신은 정말로 무엇을 성취하려고합니까? 어쩌면 그 변수를 어떻게 사용하고 싶은지에 대한 몇 가지 예를 게시 할 수 있습니다. – Pshemo

+0

런타임 변수를 로컬 변수 이름으로 사용할 수 없습니다. 그렇게하는 것도 의미가 없습니다. (적어도 informatino를 디버깅하는 것 이외에는 컴파일 할 때 지역 변수의 이름이 유지되지 않기 때문입니다.) 실제 최종 목표는 무엇입니까? –

답변

0

동적 이름을 사용하여 변수를 만들 수 없습니다 (요청한 경우).

그런 경우에는 HashMap을 사용해보십시오. 문자열을 키로 사용하여 목록 개체를 넣고 같은 개체를 지정하여 검색 할 수 있습니다.

HashMap<String, List<String>> map = new HashMap<>(); 
map.put("yourKeyName", new ArrayList<>(); 
List<String> yourList = map.get("yourKeyName"); 
관련 문제