[Java] null trong Java

Chia sẻ kiến thức ngôn ngữ lập trình C, C++, C#, Java, Python, PHP, JS, SQL ...

Các điều hành viên: Admin, Mod, SMod

[Java] null trong Java

Gửi bàigửi bởi Java » 23/10/2023 20:34

Trong bài viết Java hôm nay, chúng ta sẽ thảo luận về Java Null là gì và 06 sự thật chưa biết của Java Null trong ngôn ngữ lập trình Java. Chúng ta cũng sẽ khám phá một số kỹ thuật để giảm thiểu kiểm tra null và cách tránh các ngoại lệ con trỏ null khó chịu.

Khái niệm Java Null là gì?
- Trong Java, null là một từ khóa giống như các từ khóa khác public, static hoặc final. Nó chỉ là một giá trị cho thấy rằng đối tượng không đề cập đến. Việc phát minh ra từ "null" có nguồn gốc để biểu thị sự vắng mặt của một cái gì đó. Ví dụ: sự vắng mặt của người dùng, tài nguyên hoặc bất cứ thứ gì.
- Tuy nhiên, trong nhiều năm, Null khiến các lập trình viên Java gặp rắc rối do ngoại lệ con trỏ null rất khó sử dụng. Khi bạn khai báo một biến boolean, nó sẽ nhận giá trị mặc định là false. Tương tự, bất kỳ biến tham chiếu nào trong Java đều có null làm giá trị mặc định. Chúng ta sử dụng null để biểu thị "không có đối tượng" hoặc "không xác định" hoặc "không có sẵn", nhưng những ý nghĩa này là dành riêng cho ứng dụng.

Java Null phân biệt chữ hoa và chữ thường
Các từ khóa trong Java có phân biệt chữ hoa và chữ thường. Vì thế, chúng ta không thể viết null Là Null hay NULL được. Nếu chúng ta viết như vậy, trình biên dịch sẽ không thể nhận ra chúng và sẽ báo lỗi. Ví dụ:
Mã: Chọn tất cả
Object obj = NULL;  // Not Accepted

Object obj = Null;  // Not Accepted

Object obj1 = null  //Accepted


Giá trị của biến tham chiếu là null
Bất kỳ biến tham chiếu nào cũng tự động có một giá trị null như giá trị mặc định.
- Ví dụ minh họa:
Mã: Chọn tất cả
package com.techvidvan.javanull;

public class NullExamples

{
  private static Object obj;

  private static Integer i;
  private static NullExamples t1;

  public static void main(String args[])

  {

    // it will print null;

    System.out.println("Value of Object obj is: " + obj);

    System.out.println("Value of Integer object i is: " + i);

    System.out.println("Value of NullExamples object t1 is: " + t1);

  }

}

Output
Mã: Chọn tất cả
Value of Object obj is: null

Value of Integer object i is: null

Value of NullExamples object t1 is: null


Các kiểu null
Null chỉ là một giá trị đặc biệt. Nó không phải một đối tượng cũng không phải một kiểu mà chúng ta có thể gán cho bất kỳ kiểu tham chiếu nào và type nó thành bất kỳ kiểu nào.
Mã: Chọn tất cả
// null can be assigned to String
    String string = null;
// you can assign null to Integer also

Integer myInt = null;

// null can also be assigned to Double

Double myDouble = null;

// null can be type cast to String

String myStr = (String) null;

// We can also type cast it to Integer

Integer myInt1 = (Integer) null;

// yes it's possible, no error

Double myDouble1 = (Double) null;


Autoboxing và Unboxing trong Java
- Chúng ta có thể thực hiện Autoboxing và Unboxing với các giá trị null. Chúng ta chỉ có thể gán null cho các kiểu tham chiếu, không cho các biến nguyên thủy như char, int, double, float hoặc boolean.
- Trình biên dịch sẽ ném một NullpointerException nếu chúng ta gán giá trị null cho một kiểu dữ liệu nguyên thủy trong Java . Đoạn mã sau đây cho thấy khái niệm này.
Mã để hiểu Autoboxing và Unboxing với null:
Mã: Chọn tất cả
package com.techvidvan.javanull;

public class NullExamples

{

  public static void main (String[] args) throws java.lang.Exception

  {

    //No error, because we are assigning null to reference type of wrapper class.

    Integer myIntObj = null;
    //There will be an error as we are unboxing null to int type

    int intType = myIntObj;

  }

}

Đầu ra:
Mã: Chọn tất cả
Exception in thread “main” java.lang.NullPointerException

at project1/com.techvidvan.javanull.NullExamples.main(NullExamples.java:10)


Sử dụng null với phương thức tĩnh và không tĩnh trong Java
Chúng ta có thể gọi một phương thức static với các biến tham chiếu có giá trị null. Tuy nhiên, nếu chúng ta gọi một phương thức không tĩnh trên một biến tham chiếu có giá trị null, trình biên dịch sẽ ném NullPointerException. Các phương thức tĩnh không ném ngoại lệ vì các phương thức này được kết nối với nhau bằng cách sử dụng liên kết tĩnh.

Kết luận:
- Trong bài viết này, chúng ta đã tìm hiểu về Java Null và một số facts về null trong Java mà bạn nên biết. M0ng rằng qua bài viết bạn đã hiểu thêm về Java Null và cách sử dụng của chúng.
- Các bạn có thể xem chi tiết hơn tại https://www.upwork.com/resources/what-is-null-in-java
Sửa lần cuối: Java 23/10/2023 20:36
Hình đại diện của thành viên
Java
☀️1/30☀️
☀️1/30☀️
 
Bài viết: 1
Ngày tham gia: 11/03/2012 09:07

Quay về C, C++, C#, Java, Python, PHP, JS, SQL ...

 


  • Chủ đề tương tự
    Trả lời
    Xem
    Bài viết mới nhất

Ai đang trực tuyến?

Đang xem chuyên mục này: Không có thành viên nào đang trực tuyến50 khách

cron