chênh lệch giữa là gì:Java, sự khác biệt giữa gán null để phản đối và chỉ tuyên bố là gì
Object o = null
; vàObject o;
(chỉ khai)
Bất cứ ai có xin vui lòng trả lời tôi?
chênh lệch giữa là gì:Java, sự khác biệt giữa gán null để phản đối và chỉ tuyên bố là gì
Object o = null
; vàObject o;
(chỉ khai)Bất cứ ai có xin vui lòng trả lời tôi?
Tùy thuộc vào phạm vi bạn khai báo biến. Ví dụ: biến cục bộ không có default values
trong trường hợp này, bạn sẽ phải gán null theo cách thủ công, như trường hợp biến thể hiện gán null là thừa.
public class Test {
Object propertyObj1;
Object propertyObj2 = null; // assigning null is redundant here as instance vars get default values
public void method() {
Object localVariableObj1;
Object localVariableObj1.getClass(); // illegal, a compiler error comes up as local vars don't get default values
Object localVariableObj2 = null;
Object localVariableObj2.getClass(); // no compiler error as localVariableObj2 has been set to null
propertyObj1.getClass(); // no compiler error
propertyObj2.getClass(); // no compiler error
}
}
Như đã đề cập, tài liệu tham khảo đối tượng như instance variable
không cần phải được giao null
như những người mất null
như giá trị mặc định. Nhưng các biến cục bộ phải được khởi tạo nếu không bạn sẽ nhận được lỗi biên dịch nói rằng The local variable s may not have been initialized
.
Để biết thêm chi tiết, bạn có thể tham khảo this link