Domain, hosting, vps giá rẻ
Kết quả 1 đến 1 của 1

Chủ đề: [Java] null trong Java

  1. #1
    nghiammo1992's Avatar
    Bài viết
    5,068
    Cấp độ
    Bang hội
    Tiếu Ngạo
    Tu luyện
    Độ kiếp Hư Thần
    Giới tính
    Con trai
    Join Date
    Jun 2012
    Đến từ
    Hà Giang
    Tuổi
    32
    Danh vọng
    10
    Điện thoại
    0367790762

    [Java] null trong Java

    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ã:
    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ã:
    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ã:
    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ã:
    // 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ã:
    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ã:
    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
    Lần sửa cuối bởi nghiammo1992, ngày 23/10/2023 lúc 20:36.
    Diễn đàn chia sẻ kiến thức điện thoại: http://chiase123.com
    Click vào Hiện ra để xem chữ ký của mình :X

Thông tin về chủ đề này

Users Browsing this Thread

Có 1 người đang xem chủ đề. (0 thành viên và 1 khách)

Các Chủ đề tương tự

  1. [Game Java]GPS Mission
    Bởi clombies123 trong diễn đàn Game Java
    Trả lời: 0
    Bài viết cuối: 25/10/2016, 15:01
  2. [Game Java] Kingdoms and lords
    Bởi nghiammo1992 trong diễn đàn Game Java
    Trả lời: 0
    Bài viết cuối: 24/04/2013, 10:21
  3. [Game Java] Gold miner
    Bởi nghiammo1992 trong diễn đàn Game Java
    Trả lời: 0
    Bài viết cuối: 13/03/2013, 21:13
  4. [Game Java] Wolf man
    Bởi nghiammo1992 trong diễn đàn Game Java
    Trả lời: 0
    Bài viết cuối: 11/03/2013, 18:33
  5. [Game Java] Alchemist stone
    Bởi nghiammo1992 trong diễn đàn Game Java
    Trả lời: 0
    Bài viết cuối: 06/12/2012, 21:18

Tag của Chủ đề này

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •