Lớp java.lang.System xác định một số well-known properties.Tại sao Java không có hằng số cho các tên thuộc tính hệ thống nổi tiếng?
Ví dụ, bạn có thể lấy thư mục tạm thời của JVM bằng cách nhìn lên "java.io.tmpdir" bất động sản:
... = System.getProperty("java.io.tmpdir");
Những gì tôi không hiểu là tại sao những thuộc tính không được định nghĩa là hằng số (ví dụ: trong lớp java.lang.System). Điều này sẽ dễ bị lỗi hơn rất nhiều so với sử dụng chuỗi ký tự. Nói cách khác, tôi muốn có thể thực hiện điều này:
... = System.getProperty(System.JAVA_IO_TMPDIR);
Mọi ý tưởng tại sao điều này không được thực hiện? Nó thậm chí có thể được thêm vào trong một bản phát hành Java trong tương lai mà không phá vỡ tính tương thích ngược. Hoặc tôi thiếu một cái gì đó hiển nhiên?
Điều tôi đã làm là tự mình thực hiện. Mất khoảng 30 giây. my.package.SystemProperties và thêm các hằng số ở đó. Và sau đó để IDE của tôi giúp tôi từ đó. – OscarRyz
> Những gì tôi đã làm là để thùng (sic) của riêng tôi. Và bạn không thực hiện bất kỳ lỗi chính tả nào? :-) Điều này minh họa chính xác lý do tại sao Sun nên làm điều này một lần thay vì để lại cho mỗi nhà phát triển cá nhân. Con người là con người và phạm sai lầm. –
Không, 0 lỗi chính tả. Tôi sao chép dán chúng và chỉ thêm những giá trị mà tôi sử dụng (thường là chỉ khoảng 4) :-) – OscarRyz