2016-10-25 3 views
0

프로그래밍에 익숙하지 않아서 유감스럽게도 이해가되지 않습니다. 어쨌든 : 데이터 유형에 대한 데이터 유형이 있습니까? 이, 그래서 여기에서 그것을 사용할 수있는 방법을 예를 들어 정말 이상한 소리 :Showerthought : 데이터 형식의 데이터 형식?

DataType dt = new DataType("int"); 
dt i = 3; 
double d = 5; 
int castedD = (dt) d; 

등 내가 컴파일러 (? 또는 인터프리터) 구문의 종류 불가능하게 확신에 있는데도

, 그것은 제 생각에는 꽤 흥미로운 아이디어입니다. 비슷한 점이 이미 있습니까? 죄송합니다 다시 이것이 어떤 의미가되지 않으면, 나는 이것이 바보인지 좋은 생각인지 궁금 해서요. :)

+2

이 문서는 ['Class'] (http://docs.oracle.com/javase/8/docs/api/java/lang/Class)라고합니다. .html); (분명히) 당신이 원하는 모든 것을 할 수는 없지만. –

답변

2

Java에서 가능한 것은 없습니다. 당신은 자바 소스 코드의 유형으로 값을 사용할 수 없습니다

  • Java 언어 스펙은 유형 이름 및 변수 이름이 다른 네임 스페이스에서 가져온 상태. 그래서 귀하의 예제 코드 실제로dt 인 클래스를 컴파일러가 찾도록 지시합니다.

  • 이런 종류의 일이 허용되면 Java는 더 이상 정적으로 형식화 된 프로그래밍 언어가 아닙니다.

이제 반사을 사용하여 Java에서 이런 종류의 일을 할 수 있지만, 코드는 (공상) 코드로 우아 같은 곳입니다. 컴파일러가 오류 검사 방식을 거의 제공 할 수 없기 때문에 기존 Java 코드보다 느린 (또는 그 이상) 순서이며 훨씬 더 취약합니다.


나는 변수가 같은 유형으로 사용할 수 있습니다 모든 주류 프로그래밍 언어 (정적 또는 동적 유형) 생각할 수 없다. 알고 계시면 의견을 보내주십시오 ....