하나의 변수에 여러 유형을 저장하는 단일 데이터 구조.다른 유형을 저장할 수있는 데이터 구조를 가질 수 있습니까?
제네릭을 요구하지 않고 일부는 동적으로 형식화 된 데이터 구조입니다.
가능합니까?
하나의 변수에 여러 유형을 저장하는 단일 데이터 구조.다른 유형을 저장할 수있는 데이터 구조를 가질 수 있습니까?
제네릭을 요구하지 않고 일부는 동적으로 형식화 된 데이터 구조입니다.
가능합니까?
100 % 확신 할 수 없지만 모든 Java 콜렉션은 형식화되지 않은 데이터를 지원합니다. 예를 들면 :
List dataStructure = new LinkedList();
dataStructure.add(new Long(5));
dataStructure.add("Hello");
dataStructure.add(new BankAccount());
변수 유형으로 Object 만 사용할 수 있습니다.
정확히 무엇을하고 있는지 확신하지 못합니다. 나는 자바에서 동적 타이핑을 제공하는 제네릭이라고 주장한다.
예. 표준 라이브러리의 모든 데이터 구조는 유형 지우기가있는 제네릭을 사용하여 끝납니다. 다음과 같이 입력하십시오.
ArrayList<Object> dynamicData = new ArrayList<Object>();
구조체 밖으로 물건을 당긴 후 캐스팅해야한다는 것을 기억하십시오.
그냥 평범한 ArrayList 어때? –
체커 : 원시 타입이 좋지 않습니다. 데이비드 : 타입 지우기는 여기서 전혀 관련이 없습니다. –
베어 타입을 사용하고 List
기술적으로 모든 Object에서 상속 이후, 그래 당신이 할 수있는 기본 요소 오토 박싱과 함께. 캐스트 및 "if X instanceof Y"명령문을 많이 사용하지 않아도 끈적 시간이 있습니다.
실제로 cast와 instanceof 호출 때문에 * sticky time *을 가지게됩니다 : P – MattC
Java가 유일한 선택 인 경우 David의 답변이 유일한 옵션입니다. 그렇지 않다면, Groovy 나 Scala를 살펴 보는 것이 좋습니다. – Chintan
하드 타이핑 언어이기 때문에 Java에는 동적 입력이 없습니다. 당신이 바라는 가장 좋은 방법은 요소를 Object로 사용하거나 유형을 미리 알고 있다면 generics를 사용하는 것입니다. Chintan이 언급했듯이, 당신이 원한다면 부드럽게 타입 된 언어를 사용해야 할 것입니다. – aperkins
하나의 변수에 다른 유형을 저장하여 해결하고자하는 문제를 추가 할 수 있습니까? 그게 당신에게 '자바 방법'을 수행하는 방법에 대한 답변을 얻을 수 있습니다. 모든 유형을 동일한 방식으로 처리해야하는 경우 인터페이스가 필요합니다. 그렇지 않으면 객체 만 사용하면됩니다. –