So sánh null trong java
Show
Các List collection dùng để lưu trữ một tập dữ liệu dạng object trong Java. Do các object có thể mang giá trị NULL nên hoàn toàn một List sẽ có thể chứa một hoặc nhiều phần tử NULL. Việc chứa các phần tử NULL đôi lúc sẽ khiến mã xử lý quăng ra NullPointerException một cách vô hình khi chúng ta đang triển khai mã xử lý trên tập dữ liệu này. Do vậy việc xóa các phần tử NULL trước khi xử lý dữ liệu trong một List sẽ góp phần ngăn chặn các lỗi tiềm ẩn. Trong bài viết này chúng ta sẽ cùng nhau tìm ra các cách xóa những phần tử NULL trong List sử dụng Java cơ bản, hoặc là các thư viện bên thứ 3 cung cấp. Xóa phần tử NULL trong List sử dụng Java coreChúng ta hoàn toàn có thể sử dụng các code Java cơ bản để xóa các phần tử NULL trong List một cách dễ dàng. import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { List
Xóa phần tử NULL trong List sử dụng Google GuavaGoogle Guava cũng là một trong các thư viện lớn hỗ trợ xóa các phần tử NULL trong List một cách dễ dàng và rõ nghĩa hơn. import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { List
Xóa phần tử NULL trong List sử dụng Apache Common CollectionsApache commons collections cũng cung cấp một method tương tự như Guava import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.PredicateUtils; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List
Xóa phần tử NULL trong List sử dụng Stream APIVới sự phát triển của Stream API từ Java 8, đây cũng là một cách thường xuyên được sử dụng thay vì phải import các thư viện bên thứ 3 vào. Chúng ta chỉ cần dùng Stream#filter method để lọc ra các phần tử NULL trong List. import java.util.Arrays; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List
Nguồn Would love your thoughts, please comment.x null trong Java giống như/tương tự nullptr trong C++. Chương trình trong C++: class Point { private: int x; int y; public: Point(int ix, int iy) { x = ix; y = iy; } void print() { std::cout << '(' << x << ',' << y << ')'; } }; int main() { Point* p = new Point(3,5); if (p != nullptr) { p->print(); p = nullptr; } else { std::cout << "p is null" << std::endl; } return 0; }Cùng một chương trình trong Java: public class Point { private int x; private int y; public Point(int ix, int iy) { x = ix; y = iy; } public void print() { System.out.print("(" + x + "," + y + ")"); } } class Program { public static void main(String[] args) { Point p = new Point(3,5); if (p != null) { p.print(); p = null; } else { System.out.println("p is null"); } } }Bây giờ bạn có hiểu từ các mã ở trên null là gì trong Java không? Nếu không thì tôi khuyên bạn nên học con trỏ trong C/C++ và sau đó bạn sẽ hiểu. Lưu ý rằng trong C, không giống như C++, nullptr không được xác định, nhưng NULL được sử dụng thay thế, nó cũng có thể được sử dụng trong C++, nhưng trong C++ nullptr thích hợp hơn chỉ là NULL, vì NULL trong C luôn liên quan đến con trỏ và đó là vì vậy, trong C++, hậu tố "ptr" đã được thêm vào cuối Word và tất cả các chữ cái đều là chữ thường, nhưng điều này ít quan trọng hơn. Trong Java, mọi biến của lớp loại không nguyên thủy luôn luôn tham chiếu đến đối tượng của kiểu đó hoặc được kế thừa và null là tham chiếu đối tượng lớp null, nhưng không phải là con trỏ null, vì trong Java không có "con trỏ" nào như vậy, nhưng tham chiếu đến lớp các đối tượng được sử dụng thay thế và null trong Java có liên quan đến các tham chiếu đối tượng lớp, vì vậy bạn cũng có thể gọi nó là "nullref" hoặc "nullrefobj", nhưng điều này dài, vì vậy chỉ cần gọi nó là "null". Trong C++, bạn có thể sử dụng các con trỏ và giá trị nullptr cho tùy chọn thành viên/biến, tức là thành viên/biến không có giá trị và nếu nó không có giá trị thì nó bằng với nullptr, vì vậy, null trong Java có thể như thế nào được sử dụng chẳng hạn. This post hasn't been updated for 5 years Khi làm quen với Javascript, mình đã tự hỏi tại sao lại có 2 giá trị đều mang nghĩa là "không có gì cả", đó là null và undefined. Đây là một trong những điểm dễ gây nhầm lẫn, null và undefined, hai khái niệm này không thể đồng nhất làm một dù cho ý nghĩa thực tế của chúng lại tương đối giống nhau. Vậy sự khác biệt giữa null và undefined là gì? 1. UndefinedUndefined có nghĩa là không xác định. Trong javascript, khi bạn khai báo một biến nhưng chưa gán giá trị cho nó, giá trị của biến đó sẽ là undefined. var test; alert(test); //undefinedBất cứ biến nào cũng có thể bị làm rỗng bằng cách thiết lập giá trị về không xác định (undefined). var test = undefined; alert(test) //undefined2. NullNull có nghĩa là giá trị rỗng hoặc giá trị không tồn tại, nó có thể được sử dụng để gán cho một biến như là một đại diện không có giá trị. var test = null; alert(test); //null3. Sự khác biệt giữa null và undefinedtypeof undefined // undefined typeof null // objectCó thể thấy undefind có kiểu giá trị là undefined nhưng null lại là 1 object (bạn có thể coi đó là một lỗi nhỏ trong JavaScript khi để kiểu của null là đối tượng, đáng ra kiểu của nó nên là null). null === undefined // false null == undefined // trueNgoài lề một chút:
4. Tổng kết.Hy vọng bài viết có thể phần nào giải thích được sự khác nhau giữa null và undefined trong javascript. Rất mong nhận được sự đóng góp ý kiến của các bạn để bài viết hoàn thiện hơn. Link tài liệu tham khảo: http://www.neilstuff.com/winhttp.html#null-vs-undefined https://mytechnetknowhows.wordpress.com/2016/05/27/some-java-script-nuances-null-undefined-nan/ All Rights Reserved |