Class.getDeclaredMethods
상태 : 반환 된 배열에`Class.getDeclaredClasses()`에 의해 반환 된 배열의 요소에 특별한 순서가 있습니까? 다음
요소는 소트되어 있거나, 특정의 순서 아니다.
Class.getDeclaredClasses
그러나 반환 된 배열의 요소 순서는 지정하지 않습니다.
특정 순서로 요소를 반환해야합니까? JRE 구현을 정의하는 몇 가지 사양이 있습니까?
Class.getDeclaredMethods
상태 : 반환 된 배열에`Class.getDeclaredClasses()`에 의해 반환 된 배열의 요소에 특별한 순서가 있습니까? 다음
요소는 소트되어 있거나, 특정의 순서 아니다.
Class.getDeclaredClasses
그러나 반환 된 배열의 요소 순서는 지정하지 않습니다.
특정 순서로 요소를 반환해야합니까? JRE 구현을 정의하는 몇 가지 사양이 있습니까?
일반적으로 언어 사양에 명시된 사항에만 의존 할 수 있습니다. 스펙에 명시 적으로 언급되지 않은 것이 있으면, 특정 방법으로 관찰 되더라도 특정 방법으로 간주 될 수 없습니다. 이는 향후 경고없이 변경 될 수 있기 때문입니다.
그렇다면 언어 사양이 Class.getDeclaredMethods()
에 대한 보증을 명시 적으로 무효화하는 이유는 무엇입니까? 보증의 부재가 "보장 없음"을 의미한다면, 왜 사양은 단순히 Class.getDeclaredMethods()
에 대해 침묵하지 않는 것입니까?
Class.getDeclaredMethods()
이 특정 순서로 요소를 반환했기 때문에 많은 사람들이이를 사용했지만 언어 작성자는 어떤 시점에서이를 제거하기로 결정했습니다 (Java 7과 같았지만 내 기억이 나를 망가뜨릴 수 있습니다.) 그래서 그들은 그것을 빼앗고 있다고 명시 적으로 밝혀야했습니다.
위의 가정은 사양이 의미하는 바를 넘어서는 것이 아니라 가상으로 당신을 문제에 빠뜨릴 수있는 것이 아니라 실제로 일어난 모든 일이 실제로 일어날 것임을 경고합니다. 똑똑해. 곤경에 빠지지 마십시오.