精华内容
下载资源
问答
  • 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 判断对象及对象中属性是否为空

    万次阅读 2019-09-18 09:08:37
    import java.lang.reflect.Field; /** * Created by hj. */ public class VoUtilsTool { ... * @return 如果对象为空,且没有空值。返回false,对象为空或者有空值,返回true * */ public...
    package com.ax.util;
    
    import java.lang.reflect.Field;
    /**
     * Created by hj.
     */
    
    public class VoUtilsTool {
    /****
     * @param object 对象
     * @return 如果对象不为空,且没有空值。返回false,对象为空或者有空值,返回true
     * */
       public static boolean checkObjFieldIsNull(Object object) throws IllegalAccessException{
          boolean flag = false;
          if(null!=object){
             for(Field field : object.getClass().getDeclaredFields()){
                field.setAccessible(true);//在用反射时访问私有变量(private修饰变量)
                if(field.get(object) == null || field.get(object).equals("")){
                   flag = true;
                   return flag;
                }
                if(field.get(object) != null&&field.get(object).toString().trim().equals("")){
                   flag = true;
                   return flag;
                }
             }
          }else{
             flag=true;
          }
          return flag;
       }
    }
    
    展开全文
  • 主要介绍了Java判断对象是否为空的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Java判断对象是否为空

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

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程
    在各种应用场景中,经常需要判断某对象是否为空,通常我们会编写相关的工具类来处理,以下是查看某开源框架源码中的实现,值得收藏下。

    public static boolean isEmpty(Object o) {
            if (o == null) {
                return true;
            }
            if (o instanceof String) {
                if (o.toString().trim().equals("")) {
                    return true;
                }
            } else if (o instanceof List) {
                if (((List) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Map) {
                if (((Map) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Set) {
                if (((Set) o).size() == 0) {
                    return true;
                }
            } else if (o instanceof Object[]) {
                if (((Object[]) o).length == 0) {
           
    展开全文
  • java 判断对象是否为空.如String,Character,Object[]
  • java判断对象是否为空 在学习过程中遇到的一个小问题记录下来分享一下 在一个保存用户接口中,后端接收用户传递的对象调用对应的方法进行保存,前端使用vue进行开发。前端传递的对象有可能未初始化对象,所以后端...

    java判断对象是否为空

    在学习过程中遇到的一个小问题记录下来分享一下
    

    在一个保存用户接口中,后端接收用户传递的对象调用对应的方法进行保存,前端使用vue进行开发。前端传递的对象有可能为未初始化对象,所以后端要进行判断,确定对象是否还未初始化。

    前端判断代码

                    if (JSON.stringify(_this.user)=='{}'){
                        alert('不能保存空的用户信息');
                        }
    

    后端判断代码

     User user = new User();
     System.out.println(JSONObject.toJSONString(user).equals("{}"));
    
    展开全文
  • 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 ...
  • 判断对象或者对象数组是否为空的工具类。
  • Java判断对象是否Null/

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

    千次阅读 2019-07-10 10:47:48
    package brilliance.znjt.serviceratingservice.utils; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; ... * 对象是否为空 * @param obj St...
  • Java 判断实体对象及所有属性是否为空

    万次阅读 多人点赞 2018-11-02 22:12:30
    2、判断对象所有属性是否为空 3、特别注意,实体类中如果有基本数据类型,会影响判断 package com.liuxd.object; import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; /** * ...
  • JAVA 判断对象是否为空

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

    千次阅读 2020-03-30 22:29:29
    最近项目中遇到一个问题,在用户没填数据的时候,我们需要接收从前端传过来的对象null,但是前端说他们一个一个判断特别麻烦,只能传个对象过来,我第一个想法就是可以通过反射来判断对象是否为空。 第一版: ...
  • java 判断Object对象是否为空或者字符串 /** * 判断Object对象为空字符串 * @param obj * @return */ public static Boolean isObjectNotEmpty(Object obj) { String str = ObjectUtils.toString(obj,...
  • 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 对象为空判断规范性

    千次阅读 2014-09-05 14:51:59
    java 开发中 我们常常会遇到判断对象是否为空,xiguanxing
  • Java对象为空判断

    万次阅读 2018-03-13 11:49:02
    /** * 判断对象或对象数组中每一个对象是否为空: 对象null,字符序列长度0,集合类、Mapempty * * @param obj * @return */ public static boolean isNullOrEmpty(Object obj) { if (obj =...
  • java判断object对象为为空

    千次阅读 2020-09-16 11:36:39
    判断对象null:Objects.nonNull(obj); 判断对象为null: Objects.isNull(obj); 判断字符串: StringUtils.isEmpty(str);
  • 通过反射判断对象的所有属性是否为空 public static boolean isAllFieldNull(Object o) { try { for (Field field : o.getClass().getDeclaredFields()) { //把私有属性公有化 field.setAccessible(true); ...
  • java 判断对象的所有属性不为空

    千次阅读 2019-07-23 15:11:50
    import java.lang.reflect.Field; public class aaaaaa { public static void main(String[] args) throws Exception { person p = new person(); p.setAge(10); p.setNa...
  • java8判断对象是否为空新写法

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

    千次阅读 2018-06-09 08:47:42
    String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用string.isEmpty()会报指针异常(NullPointerException)判断一个String为空的最安全...
  • 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,196
精华内容 134,878
关键字:

java判断对象为空

java 订阅