1. 程式人生 > >StringUtils.isNotBlank 和 StringUtils.isNotEmpty 以及 (""+null)不為空的探究

StringUtils.isNotBlank 和 StringUtils.isNotEmpty 以及 (""+null)不為空的探究

1、StringUtils.isNotBlank()和 StringUtils.isNotEmpty()的區別在於,前者把空格也當做字串,後者會自動把字串中的空格忽略,即第一個“ ”不為空為真,後者相反

2、“”是空,null是空,但是“”+null就不是空了,而是  “null”,長度為4的字串

3、未知變數+“”可以用於int型別轉化為字串型別,但是注意,可能會是null+“”或者int未賦值的時候預設為0+“”,也即雖然原本沒有值,但是判斷也不為空了。

import org.apache.commons.lang.StringUtils;
import org.junit.Test;

/**
	 * 判斷 null 和 空字串
	 * isNotBlank
	 * ""是空
	 * null是空
	 * ""+null 不為空
	 */
	@Test
	public void test12(){
		boolean flag=StringUtils.isNotBlank(" ");
		boolean flag1=StringUtils.isNotBlank("");
		boolean flag2=StringUtils.isNotBlank(null);
		boolean flag3=StringUtils.isNotBlank(""+null);
		
		System.out.println(flag);//false
		System.out.println(flag1);//false
		System.out.println(flag2);//false
		System.out.println(flag3);//true
		System.out.println((""+null).length());//null 4 null轉化為了字串
		
	}
	
	/**
	 * Empty把空格認為是空字串
	 */
	@Test
	public void test13(){
		boolean flag= StringUtils.isNotEmpty(" ");
		boolean flag1= StringUtils.isNotEmpty("");
		boolean flag2=StringUtils.isNotEmpty(null);
		boolean flag3=StringUtils.isNotEmpty(""+null);
		
		
		System.out.println(flag);//true
		System.out.println(flag1);//false
		System.out.println(flag2);//false
		System.out.println(flag3);//true
		System.out.println((""+null).length());//null 4 null轉化為了字串
		
	}
	
	/*
	 * 引申到型別轉化
	 */
	@Test
	public void test14(){
		
		class UserDemo{
			private int age;
			private String name;
			public String getName() {
				return name;
			}

			public void setName(String name) {
				this.name = name;
			}

			public int getAge() {
				return age;
			}

			public void setAge(int age) {
				this.age = age;
			}
		}
		UserDemo u=new UserDemo();
		boolean flag1=StringUtils.isNotEmpty(String.valueOf(u.getAge()));
		boolean flag2=StringUtils.isNotEmpty(Integer.toString(u.getAge()));
		boolean flag3=StringUtils.isNotEmpty(""+u.getAge());
		boolean flag4=(Integer.toString(u.getAge())!=null||Integer.toString(u.getAge())!="");
		
		boolean flag5=StringUtils.isNotEmpty(u.getName());
	
		
		System.out.println(flag1);//true
		System.out.println(flag2);//true
		System.out.println(flag3);//true
		System.out.println(flag4);//true
		System.out.println(flag5);//false
		System.out.println(Integer.toString(u.getAge()).length());//length=1
		System.out.println(Integer.toString(u.getAge()));//length=1
		
	}


相關推薦

StringUtils.isNotBlank StringUtils.isNotEmpty 以及 (""+null)探究

1、StringUtils.isNotBlank()和 StringUtils.isNotEmpty()的區別在於,前者把空格也當做字串,後者會自動把字串中的空格忽略,即第一個“ ”不為空為真,後者相反 2、“”是空,null是空,但是“”+null就不是空了,而是  “n

StringUtils.isNotBlank StringUtils.isNotEmpty 的區別

blank class isn blog style temp ont div font StringUtils.isNotBlank判斷某字符串是否不為空且長度不為0且不由空白符(whitespace)構成下面是示例:StringUtils.isNotBlank(null

StringUtils.isEmptyStringUtils.isBlank用法區別

 兩個方法都是判斷字元是否為空的。前者是要求沒有任何字元,即str==null 或 str.length()==0;後者要求是空白字元,即無意義字元。其實isBlank判斷的空字元是包括了isEmpty的。換句話說,isEmpty判斷的範圍更小,只是在沒有字元的情況下。下面他

StringUtils.join,原集合,結果

import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils;

利用反射判斷bean屬性null空串)

/** * @param object * @Description 判斷是否位空物件 * @Author vioking * @Date 18-12-26 下午12:12 * @Return boolean */ private boolean isNotNullObject(Object

使用mybatis時Mapper.xml檔案中如何判斷多個引數null

第一種:使用where標籤 <select id="***" resultMap="BaseResultMap" parameterType="java.util.Map">select

機器學習svm--正確率召回率以及基於平衡資料的分類調參

code:import numpy as np from sklearn.metrics import accuracy_score from sklearn.metrics import precision_score, recall_score, f1_score, fb

Mapper.xml檔案中如何判斷多個引數null

第一種:使用where標籤 <select id="***" resultMap="BaseResultMap" parameterType="java.util.Map">select t.* from 表名 t<where><if test=" 傳進來的欄位 != null

springmvc返回數據庫的數據的方法(或JSONObject過濾null字段的方法)

ima var 實體 pan number clas ota ant serial 1. 過濾整個項目中JSONObject對象裏的null字段: 找到你的項目中的SpringMVC-Servlet.xml配置文件, 找到配置<mvc:annotation-drive

jackson 實體轉json NULL或者參加序列化

ali empty app sys 參與 實體 def str *** http://www.cnblogs.com/yangy608/p/3936848.html ******************************************************

JavaScript 驗證表單獲取select下拉列表的值和文本

blog car form 是你 mys 獲取 document options 身份證 1.驗證表單不為空 var hasform = { "Name": "名字", "Id_card": "身份證", "PaySalary": "月工資",

jackson實體NULL或者顯示

AS 序列 PE ets bject 代碼 TE serializa mce 1.實體上 @JsonInclude(JsonInclude.Include.NON_NULL) 將該註解放在屬性上,如果該屬性為null則不參與序列化; 如果放在類上邊,那對這個

關於引用變數進行引用傳遞時傳遞變數的區別

/** * */ /** * @author jueying: * @version 建立時間:2018-10-27 下午02:02:27 * 類說明 */ /** * @author jueying * */ class A { public

Thinkphp中如何表達MYSQL中的某欄位is not null

Thinkphp 的文件經常不夠完整的表達MYSQL的各種組合,很多東西需要被嘗試後才能知道,筆者就遇到過一個問題,MYSQL查詢語句中有個表示式is not null ,在thinkphp中就不能用“=” 或者簡單的eq等來表示。 有一種變相的處理方法就是直接把where中的array引數換成st

OracleSQLServer修改欄位的型別長度,

在SQLServer資料庫:       修改欄位型別和長度:               alter table   student|表名  alter col

mysql儲存過程判斷,查詢結果賦值變數

直接看例子,判斷為空是is null delimiter // create procedure proc__pre_activity_scan() begin    declare p_tid int(10);    set @p_tid=(select tid fro

jackson 實體轉json屬性NULL或者參加序列化

1.實體上 @JsonInclude(Include.NON_NULL)  //將該標記放在屬性上,如果該屬性為NULL則不參與序列化  //如果放在類上邊,那對這個類的全部屬性起作用  //Include.Include.ALWAYS 預設  //Include.NON_

Oracle資料庫裡面查詢字串型別的欄位的SQL語句:

摘要:近期專案中,在做高階查詢的時候有個條件是根據選擇的欄位,然後再選擇欄位的值為空和不為空做查詢,在寫SQL語句的時候費了很長時間,現在記錄一下,方便日後檢視: 一:查詢字串型別的欄位的值不為空的S

判斷list的條件

package javaCollection.list; import java.util.ArrayList; import java.util.List; /** @author junmen

freemark判斷傳過來的值及問號、感嘆號用法

<#if isAudit! == ''>//若isAudit為null和"" 均執行如下 傳過來的isAuit為空 </#if> <#if isAudit! != ''> 傳過來的isAudit不為空 </#if&