精华内容
下载资源
问答
  • 判断对象值是否为空

    千次阅读 2017-06-21 09:33:34
    * 判断对象值是否为空: * 若对象字符串,判断对象值是否null或空格; * 若对象为数组,判断对象值是否null,或数组个数是否0; * 若对象List,判断对象值是否null,或List元素是否个数0; * ...
    
    /**
     * 判断对象值是否为空: 
     * 若对象为字符串,判断对象值是否为null或空格; 
     * 若对象为数组,判断对象值是否为null,或数组个数是否为0; 
     * 若对象为List,判断对象值是否为null,或List元素是否个数为0;
     * 其他类型对象,只判断值是否为null.
     * 
     * @param value
     * @return true
     */
    public static boolean isEmpty(Object value){
    	if(value == null){
    		return true;
    	}else if((value instanceof String) && (((String)value).trim().length() < 1)){
    		return true;
    	}else if(value.getClass().isArray()){
    		if(0 == java.lang.reflect.Array.getLength(value)){
    			return true;
    		}
    	}else if(value instanceof List){
    		if(((List<?>)value).isEmpty()){
    			return true;
    		}
    	}else if(value instanceof Map){
    		if(((Map<?, ?>)value).isEmpty()){
    			return true;
    		}
    	}else if(value instanceof Set){
    		if(((Set<?>)value).isEmpty()){
    			return true;
    		}
    	}
    	return false;
    }
    
    public static boolean isNotEmpty(Object value){
    	return !isEmpty(value);
    }
    
    

    展开全文
  • js判断对象为空以及有好几种方法了,但是个人觉得不是特别方便。 比如: 1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} " 2、for in循环,判断key是否存在 3、jq的方法 es6已经帮我们很...

    js判断对象为空已经有好几种方法了,但是个人觉得不是特别方便。

    比如:

    1、把对象通过 JSON.stringify 转为字符串,再判断字符串是否等于 " {} "

    2、for in循环,判断key是否存在

    3、jq的方法

    es6已经帮我们很好的解决了此类问题。

    es6针对对象增加了3个新方法(数组也有):

    (1)、Object.keys:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键名

    (2)、Object.values:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值

    (3)、Object.entries:返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值对

    由此,我们可以通过其中任意一个方法,得到返回的数组,判断数组长度是否大于0,来判断对象是否为空。

    举个栗子:

    const obj = {
        foo: 'bar',
        baz: 42
    }
    console.log(Object.keys(obj)); 
    // ["foo", "baz"]
    
    console.log(Object.values(obj)); 
    // ["bar", 42]
    
    console.log(Object.entries(obj)); 
    // [["foo", "bar"], ["baz", 42]]
    
    // 打印返回值的长度
    console.log(Object.keys(obj).length); // 2
    
    const obj2 = {};
    console.log(Object.keys(obj2)); // [] 
    // 打印空对象的长度
    console.log(Object.keys(obj2).length); // 0

    这样我们就可以很简单直观的判断出对象是否为空,并且可以通过这三个方法,拿到想要的数据(键名、键值、键值对)

    那么既然得到了返回值数组,我们也可以很简单的判断对象中是否包含某个我们已知的属性名

    console.log(Object.keys(obj).indexOf('baz')); // 1
    
    console.log(Object.keys(obj).indexOf('ad')); // -1

    indexOf可以判断数组是否包含某个值,返回该值所对应的下标,对于不存在的值,返回 -1

    这样我们就能判断对象是否包含某个属性名了

    当然了,es6还提供了其他几种判断对象是否包含属性名的方法,如下:

    1、in:属性名 in 对象(判断属性名是否在对象中存在,返回一个布尔值)

    console.log('baz' in obj); // true

    2、hasOwnProperty:对象.hasOwnProperty(属性名)(判断对象中是否含有某个属性名,返回一个布尔值)

    console.log(obj.hasOwnProperty('baz')); // true

    好了,以上就是es6中判断对象是否为空,并且判断对象是否包含某个属性的方法

    如有问题,请指出,接收批评。

    个人微信公众号:

    展开全文
  • 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判断对象以及属性是否为空

    千次阅读 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判断对象以及属性值是否为空

    import java.lang.reflect.Field;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.util.StringUtils;
    
    /**
     * @author Tate
     * @date 2020-12-18 11:10
     * @title 判断对象中属性值是否全为空
     * 1、判断实体对象是否为空
     * 2、判断对象所有属性是否为空
     * 3、特别注意,实体类中如果有基本数据类型,会影响判断
     */
    @Slf4j
    public class ObjectIsNullUtil {
    
        /**
         * 判断对象中属性值是否全为空
         *
         * @param object
         * @return
         */
        public static boolean checkObjectFieldIsNull(Object object) {
            if (null == object) {
                log.error("The entity object is empty.");
                return false;
            }
    
            try {
                for(Field field : object.getClass().getDeclaredFields()){
                    field.setAccessible(true);
                    if(StringUtils.isEmpty(field.get(object))){
                        log.error("The property in the object is null. attribute name: {}", field.getName());
                        return false;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
                log.error("Object and attribute values failed. error: {}", e.getMessage());
                return false;
            }
            return true;
        }
    }
    
    
    展开全文
  • freemarker判断对象是否为空

    千次阅读 2018-10-25 09:39:03
    如果需要判断对象是否为空: &lt;#if name??&gt; //不为空的操作 &lt;/#if&gt;   当然也可以通过设置默认值${name!''}来避免对象为空的错误。如果name为空,就以默认值(“!”后的字符)显示...
  • js判断对象是否为空对象的几种方法

    万次阅读 多人点赞 2017-08-18 09:04:51
    1.将json对象转化json字符串,再判断该字符串是否"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true 2.for in 循环判断 var obj = {}; var b = function() { for(var ...
  • js 判断一个 object 对象是否为空

    万次阅读 多人点赞 2017-09-27 15:46:51
    js 判断一个 object 对象是否为空转载原文判断一个对象是否为空对象,本文给出三种判断方法:1.最常见的思路,for...in... 遍历属性,真则“非空数组”;否则数组”for (var i in obj) { // 如果不为空,...
  • js快速判断对象里的每个是不是

    千次阅读 2019-11-12 17:12:29
    我们在做前端开发的时候,会遇到有输入很多的查询条件,然后去后台查询数据,有时候对查询条件没有任何限制,但有的时候遇到特殊的情况,需要查询的条件不能为空,至少要...* 判断对象是不是全为 */ objectV...
  • struts判断对象是否为空

    千次阅读 2013-01-13 13:03:51
    判断一个对象是否为空  1.如果被判断对象是一个字符串或者是一个对象那么就直接使用  结果为空  2.如果被判断对象是一个对象的属性  比如有一个对象person,里面含有一个name属性那么判断name属性...
  • 判断对象为空的方法

    千次阅读 2018-04-19 10:43:12
    如何判断一个对象的?字符串和数组可以判断length,对象却没有这个length,有几个简单的方法可以来判断。1,jquery封装的isEmptyObject()方法,需要引入jquery。var obj = {}; var a = $.isEmptyObject(obj);//...
  • 判断某个对象属性都不null(字符串属性不null和不"")的工具类 有时候,controller参数接收json对象,我们需要判断对象中的属性是否都不null(都是必须的),其中字符串属性不null和不“”,如果...
  • jquery 判断对象是否为空,判断后台传回来的data数据是否为空从后台调了一个接口,传回来的数据显示No Properties无数据,一开始用data.length>0来判断是否为空,发现不管有没有数据都不走代码了jQuery....
  • java中判断对象中属性是否为空

    万次阅读 2017-02-17 08:57:07
    最近遇到后台接收的时候,需要对接收对象进行非空校验,第一时间想到的就是写一堆的if判断,但是仔细想了想,如果字段的属性太多,需要写大量的if判断,并且方法也不能够重用,所以,就搜索了相关资料看看有没有...
  • Freemarker判断对象是否为空的用法

    万次阅读 2018-05-21 16:20:14
    如果需要判断对象是否为空: &lt;#if user??&gt; //不为空操作 &lt;#else&gt; //为空的操作 &lt;/#if&gt; 可以通过设置默认值${name!’value’}来避免对象为空的错误。 如果name为空,...
  • 判断对象下所有键值对key-value中value是否为空? let obj_v = {a:1,b:2,c:""}; if(isObjEmpty(obj_v)) { console.log("该对象value全部为空!"); } // 封装 function isObjEmpty(obj) { let flag = true; ...
  • if判断对象是否为空

    千次阅读 2013-12-05 09:44:42
    在android中,判断对象obj是否为空的方法如下: if (null != obj) {  System.out.println("对象不为空"); } 在iOS中,可以根据指针指向的内存地址是否0来判断 UIImage *image = [UIImage imageNamed:...
  • js判断对象是否为空

    千次阅读 2016-07-22 17:11:55
    经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组.  if(document.mylist.length != "undefined" ) {} 这个用法有误.  正确的是 if( typeof(document.mylist....
  • 判断对象的某些属性是否为空

    千次阅读 2019-05-29 09:50:10
    背景:很多时候我们需要判断对象的某些属性中的是否为空,然后进行操作,这里不需要整个的对象,只是需要获取对象中的某些属性进行判断,如果写很多的if进行判断,例如: if (StringUtils.isBlank(equipInfo....
  • 1.当页面初始化时,需要某个对象的属性对应的数据来渲染,但是起始或者后端返回的可能就是null或者{} data(){ return{ a:{} } }, cerated(){ let res=null // or {} this.a=res } 一旦对象层级超过...
  • freemarker 怎么判断对象为空(注意是 为空,?? ?exists if_exists 这些都是判断不为空
  • js判断json对象是否为空

    千次阅读 2019-04-04 17:34:03
    1.最简单的方法,判断是否有对应的属性, 当然这里并不能判断是否为空 var dd={yy:""}; if(dd&&dd.yy!=""){ alert("dd不为空") } else{ alert("dd为空") } 2.通过json解析成字符串函数来...
  • 在做项目的过程中,遇到需要在页面判断... 根据习惯,判断对象为空的时候,我是这么写的: $value neq null"> ****** ****** 经过运行,这么写一点效果都没有。经过翻查资料,找到了一种解决办法:($value) neq
  • 如何判断一个对象是否为空{}

    万次阅读 2019-05-28 12:34:57
    我们想要判断对象是否为空,像基本类型那样判断是不可以的, ==={} ?这样是错误的, 因为只是比较引用地址是否相同,所以可以采取下面的方法来进行判断 1.根据for...in遍历对象,如果存在则返回true,否则返回false...
  • vue判断对象是否为空

    千次阅读 2020-05-30 16:18:57
    var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//true
  • 判断对象中属性是否全为

    千次阅读 2020-12-17 14:56:37
    * 判断对象中属性是否全为 * * @param object * @return */ public static boolean checkObjAllFieldsIsNull(Object object) { if (null == object) { return true; } try { for (Field f : object.
  • mybatis在传入对象时查询得对象属性值为空 当我们将一个对象(在这里我使用的是User对象),将对象成功的传入到xml映射文件中并成功的返回了一个User对象,但是我发现对象的成功返回并没有将对象的属性成功的返回,...
  • Java 判断一个对象中某一个属性是否为空 每次写博客都不知道咋开头…算了^_^ 直接说问题吧。就是验证一个对象中的一个属性的是否为空。 自己在网上也找到了很多大神给的答案,有看到利用反射机制 public ...
  • //filterParams({a:"",b:null,c:"010",d:123}) //Object {c: "010", d: 123} //var abc = { //a: 1, //b: 2, ...//这个方法不会影响原来的对象,而是返回一个新对象...
  • 在使用react的时候,props中的通常作为对象在父组件和子组件之间进行进行传递,通常会牵扯到判断对象是否为空的情况,今天遇到,特意来记录下方便以后回顾. 一:使用JSON的内置对象方法JSON.stringify() const obj = {...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 522,239
精华内容 208,895
关键字:

判断对象的值为空