1234와 같이 클래스에 serialversionUid를 작성하고 프로그램에서 다른 클래스가 사용하지 않는다는 것을 알고 있다면 괜찮습니까? 아니면 항상 컴파일러에서 생성 한 uid를 사용해야합니까?SerialVersionUid를 숫자로 사용할 수 있습니까? 아니면 컴파일러에서 생성해야합니까?
4
A
답변
2
serialVersionUID는 직렬화 및 비 직렬화를 위해 개체에 고유 한 서명을 제공하는 임의의 길이가 될 수 있습니다. 나는 심지어 그것이 유일해야한다고 생각하지 않는다. 이것은 직렬화 기가 클래스의 구조를 변경 한 후에도 동일한 Foo.class라는 사실을 알고 있기 때문입니다. 나는 대개 -1L을 사용합니다.
2
숫자는 제한이 없으며 해당 버전의 버전 만 나타내야합니다. 그것은 유일하지 않아도됩니다.
관련 문제
- 1. Unix 컴파일러에서 wmain() 함수를 사용할 수 있습니까 아니면 Windows에서만 작동합니까?
- 2. 왜 일부 C++ 컴파일러에서 리터럴 주소를 사용할 수 있습니까?
- 3. Serializable 클래스의 조상에 serialVersionUID를 넣어야합니까?
- 4. (단순) HTML 속성을 속성으로 사용할 수 있습니까 아니면 CSS에서만 사용할 수 있습니까?
- 5. 버튼의 시스템 이미지를 사용할 수 있습니까? 아니면 내 자신을 그려야합니까?
- 6. 미리 만들어진 CMS를 사용할 수 있습니까? 아니면 처음부터 다시 빌드해야합니까?
- 7. 여러 PyPlot 창을 사용할 수 있습니까? 아니면 서브 플로트로 제한됩니까?
- 8. Razor에 MVC3이 필요합니까? 아니면 .NET에서만 사용할 수 있습니까?
- 9. Flex mxmlc 컴파일러에서 "include-libraries"를 사용할 때 상대 경로를 사용할 수 있습니까?
- 10. 데이터베이스 이름을 숫자로 시작할 수 있습니까?
- 11. 주어진 숫자로 시작하는 mysql을 주문할 수 있습니까?
- 12. 숫자로 NSDictionary 항목을 참조 할 수 있습니까?
- 13. PHP를 XML 파일 내에서 사용할 수 있습니까?
- 14. 나야, 아니면 이클립스가 끔찍하게 예측할 수 있습니까?
- 15. SCILAB에서 직접 Java 소스 코드를 직접 사용할 수 있습니까? 아니면 둘 다 연결할 수 있습니까?
- 16. ASP.NET 스레딩 - 비동기 메서드를 수행 할 수 있습니까? 아니면 스레딩을 사용할 수 있습니까?
- 17. 여기서 serialVersionUID를 사용하는 목적은 무엇입니까?
- 18. Kinect for Windows SDK를 사용할 때 Kinect 용 시뮬레이터를 사용할 수 있습니까? 아니면 하드웨어를 사용해야합니까?
- 19. AJAX를 사용할 때 AJAX를 통해 모든 작업을 수행해야합니까, 아니면 헤더를 사용할 수 있습니까?
- 20. 세션만으로 할 수 있습니까, 아니면 ACL이 필요합니까?
- 21. 이 코드에 기아가있을 수 있습니까? 아니면 저입니까?
- 22. serialVersionUID를 이미 사용중인 직렬화 가능 클래스에 추가합니다.
- 23. 아라비아 숫자를 로마 숫자로 변환하는 숙제를 어떻게 내릴 수 있습니까?
- 24. hitTestObject Stage를 사용할 수 있습니까?
- 25. .NET에서 REXX를 사용할 수 있습니까?
- 26. 생성자에서 throw를 사용할 수 있습니까?
- 27. Excel DNA 프로젝트에서 Microsoft.Office.Tools.Excel을 사용할 수 있습니까? 아니면 테이블을 데이터 바인딩하는 다른 방법이 있습니까?
- 28. JavaScript에서는 parseFloat를 호출하여 문자열을 부동 소수점 숫자로 변환해야합니까? 아니면 JavaScript에서 변환 할 수 있도록해야합니까?
- 29. 소수 검사에 binarysearch를 사용할 수 있습니까?
- 30. 컴파일러에서 생성 된 기본 함수를 볼 수 있습니까?
자신의 serialVersionUID를 설정하는 또 다른 이유는 다음과 같습니다. http://www.javafaq.nu/java-article994.html –
올바르지 않습니다. 기껏해야 그것은 잘못 표현 된 것입니다. -1L의 사용법이 보여 주듯이 고유 할 필요는 없으며 기능이 '고유하게 개체를 식별'하는 것이 아닙니다. 그 기능은 이름에서 알 수 있듯이 직렬화 서명을 정의하는 것입니다. – EJP
EJP 정확합니다. 직렬화를위한 고유 한 객체 서명입니다. Thx –