精华内容
下载资源
问答
  • java8判断对象是否为空新写法

    万次阅读 2019-10-28 16:48:22
    1、我们为了避免指针异常,通常会做一些非空的判断,通常写法如下 Object o = ... if(o != null){ do something ... } 2、java8 提供了一种更加优美的写法 @Test public void testOptional() { String ...

    1、我们为了避免空指针异常,通常会做一些非空的判断,通常写法如下

    Object o = ...
    if(o != null){
        do something ...
    }

    2、java8 提供了一种更加优美的写法

    @Test
    public void testOptional() {
        String strArr[] = {"sada", null, ""};
        for (String s : strArr) {
            System.out.println(Optional.ofNullable(s).orElse("").length());
        }
    }

    语法为Optional.ofNullable(变量).orElse(默认值),通常用来判断变量是否为空,为空时提供默认值

    展开全文
  • 主要介绍了Java判断对象是否为空的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java 判断对象是否为空

    万次阅读 2014-04-26 11:25:02
    java 中如何判断对象是否为空呢,特别是一个weizhi

    java 中如何判断对象是否为空呢,特别是一个未知的对象?

    下面是一个通用的方法,判断字符串是否为空,集合是否为空,数组是否为空:

    /**
    	 * 判断对象或对象数组中每一个对象是否为空: 对象为null,字符序列长度为0,集合类、Map为empty
    	 * 
    	 * @param obj
    	 * @return
    	 */
    	public static boolean isNullOrEmpty(Object obj) {
    		if (obj == null)
    			return true;
    
    		if (obj instanceof CharSequence)
    			return ((CharSequence) obj).length() == 0;
    
    		if (obj instanceof Collection)
    			return ((Collection) obj).isEmpty();
    
    		if (obj instanceof Map)
    			return ((Map) obj).isEmpty();
    
    		if (obj instanceof Object[]) {
    			Object[] object = (Object[]) obj;
    			if (object.length == 0) {
    				return true;
    			}
    			boolean empty = true;
    			for (int i = 0; i < object.length; i++) {
    				if (!isNullOrEmpty(object[i])) {
    					empty = false;
    					break;
    				}
    			}
    			return empty;
    		}
    		
    		return false;
    	}

    上述方法运用了递归,当对象是数组时又调用自身.

    测试:

    @Test
    	public void test_isNullOrEmpty(){
    		String input1=null;
    		String input3="";
    		String input4=" ";
    		String input5="a";
    		String input6="   ";
    		String[] strs1 = new String[] { "a" };
    		String[] strs2 = new String[] { "", "" };
    		String[] strs3 = new String[] { "", "c" };
    		String[] strs4 = new String[] {};
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(input1));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(input3));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input4));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input5));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(input6));
    		
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(strs1));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(strs2));
    		org.junit.Assert.assertEquals(false, ValueWidget.isNullOrEmpty(strs3));
    		org.junit.Assert.assertEquals(true, ValueWidget.isNullOrEmpty(strs4));
    	}

    那么如何判断一个自定义对象属性是否全为空呢?(这里只考虑对象的属性全为基本类型)?

    代码如下:

    /***
    	 * Determine whether the object's fields are empty
    	 * 
    	 * @param obj
    	 * @param isExcludeZero  :true:数值类型的值为0,则当做为空;----false:数值类型的值为0,则不为空
    	 * 
    	 * @return
    	 * @throws SecurityException
    	 * @throws IllegalArgumentException
    	 * @throws NoSuchFieldException
    	 * @throws IllegalAccessException
    	 */
    	public static boolean isNullObject(Object obj, boolean isExcludeZero)
    			throws SecurityException, IllegalArgumentException,
    			NoSuchFieldException, IllegalAccessException {
    		List<Field> fieldList = ReflectHWUtils.getAllFieldList(obj.getClass());
    		boolean isNull = true;
    		for (int i = 0; i < fieldList.size(); i++) {
    			Field f = fieldList.get(i);
    			Object propertyValue = null;
    			try {
    				propertyValue = getObjectValue(obj, f);
    			} catch (NoSuchFieldException e) {
    				e.printStackTrace();
    			}
    
    			if (!ValueWidget.isNullOrEmpty(propertyValue)) {// 字段不为空
    				if (propertyValue instanceof Integer) {// 是数字
    					if (!((Integer) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				} else if (propertyValue instanceof Double) {// 是数字
    					if (!((Double) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else if (propertyValue instanceof Float) {// 是数字
    					if (!((Float) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else if (propertyValue instanceof Short) {// 是数字
    					if (!((Short) propertyValue == 0 && isExcludeZero)) {
    						isNull = false;
    						break;
    					}
    				}else {
    					isNull = false;
    					break;
    				}
    			}
    		}
    		return isNull;
    	}
    
    ValueWidget.isNullOrEmpty 的类com.string.widget.util.ValueWidget.ValueWidget:见 

    http://download.csdn.net/detail/hw1287789687/7255307
    测试:

    package com.test.bean;
    
    import java.sql.Timestamp;
    
    public class Person2 {
    	private int id;
    	private int age;
    	private double weight;
    	private String personName;
    	private Timestamp birthdate;
    	public String identitify;
    	protected String address;
    	String phone;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public int getAge() {
    		return age;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public String getPersonName() {
    		return personName;
    	}
    	public void setPersonName(String personName) {
    		this.personName = personName;
    	}
    	public Timestamp getBirthdate() {
    		return birthdate;
    	}
    	public void setBirthdate(Timestamp birthdate) {
    		this.birthdate = birthdate;
    	}
    	public String getIdentitify() {
    		return identitify;
    	}
    	public void setIdentitify(String identitify) {
    		this.identitify = identitify;
    	}
    	public String getAddress() {
    		return address;
    	}
    	public void setAddress(String address) {
    		this.address = address;
    	}
    	public String getPhone() {
    		return phone;
    	}
    	public void setPhone(String phone) {
    		this.phone = phone;
    	}
    	public double getWeight() {
    		return weight;
    	}
    	public void setWeight(double weight) {
    		this.weight = weight;
    	}
    	
    	
    }
    
    @Test
    	public void test_isNullObject() throws SecurityException,
    			IllegalArgumentException, NoSuchFieldException,
    			IllegalAccessException {
    		Person2 p = new Person2();
    		Assert.assertEquals(true, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    		p.setAddress("beijing");
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    		p.setAddress(null);
    		p.setId(0);
    		Assert.assertEquals(true, ReflectHWUtils.isNullObject(p, true));
    		Assert.assertEquals(false, ReflectHWUtils.isNullObject(p, false));
    
    	}
    参考:http://hw1287789687.iteye.com/blog/1936364
    项目代码下载地址:

    http://download.csdn.net/detail/hw1287789687/7255307
    .





    展开全文
  • 主要介绍了Java判断对象是否为空(包括null ,"")的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Java判断对象是否为空

    万次阅读 2018-05-30 10:23:33
    1、 位于org.apache.commons.lang包下 StringUtils  public   class  StringUtilsTest {      public ... System.out.println(StringUtils.isEmpty( ...org.apache.commons.lang3包...ObjectUtils 判断对象是否为空 

    1、位于org.apache.commons.lang包下StringUtils    

    1. public class StringUtilsTest {   
    2.     public static void main(String[] args) {  
    3.  
    4.         System.out.println(StringUtils.isEmpty(null));  //true  
    5.         System.out.println(StringUtils.isEmpty(""));   //true  
    6.         System.out.println(StringUtils.isEmpty(" ")); //false 注意在空格作非空处理  
    7.         System.out.println(StringUtils.isEmpty("string"));//false           
    8.         
    9.         System.out.println(StringUtils.isBlank(null)); //true  
    10.         System.out.println(StringUtils.isBlank(""));  //true  
    11.         System.out.println(StringUtils.isBlank(" ")); //true        
    12.         System.out.println(StringUtils.isBlank("        ")); //true         
    13.     }   
    14. }  

    2、位于org.springframework.util包下StringUtils   

           org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型StringUtils.isEmpty(Object str);

            org.springframework.util包下的参数是Object类,也就是不仅仅能判断String类型,还能判断其他类型,比如Long等类型。12345       

    3、判断List不为空

           if (tocoupleDOList != null && !tocoupleDOList.isEmpty()) {

          }

    4、位于org.apache.commons.lang包下ObjectUtils 判断对象是否为空  

    展开全文
  • Java判断对象是否为空的方法

    千次阅读 2018-06-13 19:24:52
    首先来看一下工具StringUtils的判断方法: 一种是org.apache....这两种StringUtils工具类判断对象是否为空是有差距的: StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils...
    • 首先来看一下工具StringUtils的判断方法: 
      一种是org.apache.commons.lang3包下的; 
      另一种是org.springframework.util包下的。这两种StringUtils工具类判断对象是否为空是有差距的:
    
    StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils类,判断是否为空的方法参数是字符序列类,也就是String类型
    
    StringUtils.isEmpty(Object str); //而org.springframework.util包下的参数是Object类,也就是不仅仅能判断String类型,还能判断其他类型,比如Long等类型。
    
    • 1
    • 2
    • 3
    • 4
    • 5

    从上面的例子可以看出第二种的StringUtils类更实用。

    下面来看一下org.apache.commons.lang3的StringUtils.isEmpty(CharSequence cs)源码:

    public static boolean isEmpty(final CharSequence cs) {
            return cs == null || cs.length() == 0;
    }
    • 1
    • 2
    • 3

    接下来是org.springframework.util的StringUtils.isEmpty(Object str)源码:

    public static boolean isEmpty(Object str) {
            return (str == null || "".equals(str));
    }
    • 1
    • 2
    • 3

    基本上判断对象是否为空,StringUtils.isEmpty(Object str)这个方法都能搞定。

    • 接下来就是判断数组是否为空
    list.isEmpty(); //返回boolean类型。
    展开全文
  • java 判断Object对象是否为空或者字符串 /** * 判断Object对象为空字符串 * @param obj * @return */ public static Boolean isObjectNotEmpty(Object obj) { String str = ObjectUtils.toString(obj,...
  • Java判断对象是否为空

    千次阅读 2017-06-29 17:48:50
    在各种应用场景中,经常需要判断对象是否为空,通常我们会编写相关的工具类来处理,以下是查看某开源框架源码中的实现,值得收藏下。public static boolean isEmpty(Object o) { if (o == null) { return true; ...
  • java 判断对象是否为空.如String,Character,Object[]
  • java 判断一个对象是否为空对象

    千次阅读 2020-03-30 22:29:29
    最近项目中遇到一个问题,在用户没填数据的时候,我们需要接收从前端传过来的对象null,但是前端说他们一个一个判断特别麻烦,只能传个对象过来,我第一个想法就是可以通过反射来判断对象是否为空。 第一版: ...
  • Java 判断String对象是否为空的方法

    千次阅读 2018-06-09 08:47:42
    String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用string.isEmpty()会报指针异常(NullPointerException)判断一个String为空的最安全...
  • Java 判断对象及对象中属性是否为空

    万次阅读 2019-09-18 09:08:37
    import java.lang.reflect.Field; /** * Created by hj. */ public class VoUtilsTool { ... * @return 如果对象为空,且没有空值。返回false,对象为空或者有空值,返回true * */ public...
  • Java 判断实体对象及所有属性是否为空

    万次阅读 多人点赞 2018-11-02 22:12:30
    2、判断对象所有属性是否为空 3、特别注意,实体类中如果有基本数据类型,会影响判断 package com.liuxd.object; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; /** * ...
  • 在项目中,很多情况下需要通过接口获得数据,数据类型包括Map<String, Object> 或者 JSONObject ,然后get某个属性; 例如:Object object = get("name")...所以,需要对object 进行非空判断 需要用到:lan...
  • Java判断对象是否为Null/

    千次阅读 2019-05-17 11:42:00
    import java.lang.reflect.Field; import java.lang.reflect.Type;... * Description: 判断对象是否为空,进一步判断对象中的属性是否为空 * * 对象new,但对象中的属性都null * </p&...
  • JAVA 判断对象是否为空

    千次阅读 2014-04-14 09:18:50
    * 判断对象或对象数组中每一个对象是否为空: 对象null,字符序列长度0,集合类、Mapempty *  * @param obj * @return */ @SuppressWarnings("unchecked") public static boolean isNullOrEmpty(Object ...
  • Java 反射判断对象属性是否为空

    千次阅读 2019-05-22 17:30:07
    要实现判断一个集合中的每个对象的成员变量是否为空 可以通过发射来实现 public boolean isObjectFieldEmpty(Object object) { boolean flag = false; if (object != null) { Class<?> entity = object....
  • Java判断对象是否为空(包括null ,"")

    万次阅读 2016-07-19 13:35:31
    package com.gj5u.publics.util; import java.util.List; /** * 判断对象是否为空 * * @author Rex * */ public class EmptyUtil { /** * 判断对象为空 * * @param obj * 对象名 *
  • JAVA判断对象以及属性值是否为空

    千次阅读 2020-12-18 11:45:27
    JAVA判断对象以及属性值是否为空 import java.lang.reflect.Field; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils; /** * @author Tate * @date 2020-12-18 11:10 * @title ...
  • 判断对象或者对象数组是否为空的工具类。
  • package Test;import java.awt.List;import java.lang.reflect.Array;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.HashMap;import java.util.Hashtable;import j

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 337,202
精华内容 134,880
关键字:

java8判断对象是否为空

java 订阅