- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

0 0 71

Người đăng: Thang Nguyen

Theo Viblo Asia

Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi

Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link)

Nếu các bạn dùng maven project thì dễ dàng hơn, chỉ cần import ở file pom.xml

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.7</version>
</dependency>

Nếu các bạn muốn check String có null / full space/ empty không thì thường check kiểu thủ công sẽ như này

package test; import org.apache.commons.lang3.StringUtils; public class Main { public static void main(String[] args) { String a = null; String b = ""; String c = " "; System.out.println("manual result: " + "a: " + validateStringManual(a) + " b: " + validateStringManual(b) + " c: " + validateStringManual(c)); } private static Boolean validateStringManual(String str) { if (length(str) == 0 || isFullspace(str)) { return true; } return false; } public static int length(CharSequence cs) { return cs == null ? 0 : cs.length(); } public static Boolean isFullspace(CharSequence cs) { int strLen = length(cs); for (int i = 0; i < strLen; ++i) { if (!Character.isWhitespace(cs.charAt(i))) { return false; } } return true; }
} 

Output

manual result: a: true b: true c: true

Rất dài và loằng ngoằng đúng không nào

Giờ nếu dùng thư viện thì ta chỉ cần làm như này

package test; import org.apache.commons.lang3.StringUtils; public class Main { public static void main(String[] args) { String a = null; String b = ""; String c = " "; System.out.println("StringUtils result: " + "a: " + StringUtils.isBlank(a) + " b: " + StringUtils.isBlank(a) + " c: " + StringUtils.isBlank(c)); } }

Output

StringUtils result: a: true b: true c: true

Vẫn như vậy, rất tiện lợi phải không nào?

Còn nếu bạn không muốn check fullspace thì dùng cách sau:

package test; import org.apache.commons.lang3.StringUtils; public class Main { public static void main(String[] args) { String a = null; String b = ""; String c = " "; System.out.println("StringUtils result: " + "a: " + StringUtils.isEmpty(a) + " b: " + StringUtils.isEmpty(a) + " c: " + StringUtils.isEmpty(c)); } }

Output

StringUtils result: a: true b: true c: false

StringUtils còn rất nhiều thư viện khác, các bạn có thể check và sử dụng theo mục đích của mình Ví dụ như isNotBlank(), isNotEmpty() ...

Giờ chuyển sang validate Collections trong java

Maven project thì thêm đoạn này vào file pom.xml:

<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-collections4 -->
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> <version>4.1</version>
</dependency> 

Còn project java thường thì import file jar download tại link

Ví dụ về check xem Collection đó có empty hay null hay không

package test; import org.apache.commons.collections4.CollectionUtils; import java.util.ArrayList;
import java.util.List; public class Main { public static void main(String[] args) { List<String> list1 = null; List<String> list2 = new ArrayList<>(); List<String> list3 = new ArrayList<>(); list3.add("xxx"); System.out.println("result: " + "list1: " + CollectionUtils.isEmpty(list1)); System.out.println("result: " + "list2: " + CollectionUtils.isEmpty(list2)); System.out.println("result: " + "list3: " + CollectionUtils.isEmpty(list3)); }
} 

Output

result: list1: true
result: list2: true
result: list3: false

Đây là chỉ là 1 trong các hàm của lớp CollectionUtils, tùy vào mục đích sử dụng các bạn lấy ra để dùng nhé

Cám ơn các bạn đã đọc hết bài của mình, có gì sai sót vui lòng comment để mình sửa ạ

Fanpage của mình: https://www.facebook.com/morethanacoder

Utube của mình: thanglaptrinh

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 302

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 278

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 50

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 194

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139

- vừa được xem lúc

Tìm hiểu về ThreadLocal trong Java

1. Giới thiệu. Trong bài viết này, mình sẽ giới thiệu về ThreadLocal trong Java. Nó có khả năng lưu trữ dữ liệu riêng lẻ cho luồng hiện tại - và chỉ gói nó lại trong một loại đối tượng đặc biệt.

0 0 46