이 글은 java.lang.Void와 void의 비교와 사용법을 주로 소개하는 글인데, 편집자가 보기엔 꽤 괜찮다고 생각해서 필요하신 분들은 참고하시면 될 것 같습니다.
void는 함수가 아니며 메서드의 수정자입니다. void는 메서드에 반환 값이 없음을 의미합니다. 즉, 메서드는 메서드의 명령문만 실행하고 아무것도 반환하지 않음을 의미합니다.
java.lang.Void는 유형입니다. 예를 들어 Void 참조에 null을 할당합니다.
Void nil = null;
Void 클래스의 코드에서 볼 수 있듯이 Void 유형은 상속 및 인스턴스화할 수 없습니다.
public final class Void { /** * The {@code Class} object representing the pseudo-type corresponding to * the keyword {@code void}. */ @SuppressWarnings("unchecked") public static final Class<Void> TYPE = (Class<Void>) Class.getPrimitiveClass("void"); /* * The Void class cannot be instantiated. */ private Void() {} }
Void는 함수의 반환 결과로 함수가 null을 반환한다는 의미입니다(null을 제외한 다른 유형은 반환할 수 없음).
Void function(int a, int b) { //do something return null; }
제네릭이 등장하기 전에는 일반적으로 Void를 리플렉션에 사용했습니다. 예를 들어, 다음 코드는 반환 유형이 void인 메서드 이름을 인쇄합니다.
public class Test { public void print(String v) {} public static void main(String args[]){ for(Method method : Test.class.getMethods()) { if(method.getReturnType().equals(Void.TYPE)) { System.out.println(method.getName()); } } } }
제네릭이 등장한 후 특정 시나리오에서는 Void 유형이 사용됩니다. 예를 들어, Future
하지만 작업이 값을 반환하지 않으면 어떻게 되나요? 이 경우 Future
또한 Void는 Map
그래서 제네릭을 사용하는 경우 함수가 결과를 반환할 필요가 없거나 객체에 값이 필요하지 않은 경우 java.lang.Void 형식으로 표현할 수 있습니다.
요약
위 내용은 java.lang.Void와 void의 사용방법 비교의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!