2010-02-19 26 views
5

This question về lý do hằng số trong Java là chữ hoa theo quy ước khiến tôi cố gắng nghĩ về các ví dụ về số lượt truy cập.Hằng số không phải chữ hoa trong Java

Tôi có thể nghĩ đến ít nhất một (Double.NaN). Có người khác không?

+2

Đây có phải là một Wiki cộng đồng không? – Yuval

+1

Điều này thú vị hay hữu ích? Nó giúp bạn hoặc ai đó làm công việc của bạn như thế nào? –

Trả lời

4

Có rất nhiều serialVersionUID!

Những người khác trong ResultSetMetaData như columnNoNulls, columnNullable ...
DatabaseMetaDataICC_Profile có rất nhiều trường hợp hằng số hỗn hợp.

Dưới đây là một danh sách với hầu hết, nếu không nói là tất cả, JavaSE hằng: Constant Field Values

+0

Các liên kết đến tất cả các hằng số làm cho một người chiến thắng! – JRL

0

null, truefalse. Họ được cho là từ khóa, nhưng khi bạn nhận được xuống đến nó, họ đang hằng số đánh giá 0x00, 0x01 và 0x00 tương ứng.

+5

Trong C++ có lẽ, nhưng chắc chắn không phải trong java. Không có '(int) null' hoặc' (int) true' – Martin

+1

Ngoài ra: chúng là chữ, chứ không phải từ khóa. Cũng giống như '13' là chữ" foo "hoặc" foo ". –

+0

Bạn có thể nhầm lẫn với Boolean.TRUE và Boolean.FALSE là hằng số nhưng chữ hoa. – Roman

2

Hằng số màu như đen, đỏ, xanh lá cây, v.v ... từ lớp java.awt.Color.

Cần lưu ý rằng java.awt.Color cũng cung cấp các lựa chọn thay thế chữ hoa (ví dụ: BLACK, RED, GREEN vv) của các hằng số này.

2

java.util.logging.Logger.global là một hằng số với tất cả các chữ thường

7

Tất nhiên, public final static PrintStream out (trong java.lang.System.out). Nhưng đó là một ngoại lệ rất tốt, bởi vì System.OUT.println chỉ là xấu xí.

Ngoài ra, hầu hết các logger thời gian được khởi tạo như sau:

private static final Logger logger = Logger.getLogger(MyClass.class); 

Tuy nhiên, trong cả hai trường hợp này không phải là hằng số theo đúng nghĩa của từ này. Vì vậy, có lẽ chúng ta có thể làm cho một sự phân biệt:

Fields mà static bởi vì họ cần một truy cập tĩnh, và final vì họ không nên giao lại khi chạy, không nhất thiết phải hằng.

+3

Tôi đồng ý; Tôi tin rằng các hằng số luôn là các đối tượng giá trị (các đối tượng bất biến ở đó, tất nhiên). –

+0

Tôi đồng ý. Trường hợp trên nên được dành riêng cho các hằng số * không thay đổi được, không đơn giản là bất kỳ thứ gì 'tĩnh' và' cuối cùng'. – cdunn2001

0

Các length các trường hợp mảng.

Btw, tôi thấy các ví dụ được đề cập về các đối tượng "liên tục" trong một khía cạnh, cụ thể là tham chiếu của chúng không thay đổi - tham chiếu là tĩnh cuối cùng, nhưng khi các đối tượng đó đang hoạt động; tức là các thuộc tính bên trong của chúng thay đổi khi các phương thức trên các đối tượng này được gọi. Trong những trường hợp đó, tôi sẽ không sử dụng quy ước đặt tên UPPERCASE vì các đối tượng không có hằng số trong quan điểm của tôi.

Các vấn đề liên quan