精华内容
下载资源
问答
  • MyBatis数组与集合判断非空和长度

    万次阅读 2019-09-23 09:46:08
    目录集合判断空数组判断集合判断空 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 数组判断空 我们对...

    数组判断

    参数object为数组Object[]时。先判断是否为null,不为null则判断数组长度object.length是否大于0即可。

    	<if test="object!=null and object.length>0">
    		<yourSql>
    	</if>
    

    集合判断

    参数object为集合List<Object>时,先判断是否为null,不为null则判断集合长度object.size()是否大于0即可。

    	<if test="object!=null and object.size()>0">
    		<yourSql>
    	</if>
    
    展开全文
  • 在平时的开发中,基本上都会用到字符串判断空值和集合判断空值的处理,还记得在刚干开发的时候,写的代码在现在看起来是真的有点Hello World,那么这次分享两个非常常用的方法,字符串非空判断集合非空判断。...

    在平时的开发中,基本上都会用到字符串判断空值和集合判断空值的处理,还记得在刚干开发的时候,写的代码在现在看起来是真的有点Hello World,那么这次分享两个非常常用的方法,字符串非空判断和集合非空判断

    字符串非空判断

    你有没见过下面的代码,要是没见过你就不配是一个程序员,我还写过呢!现在回过头来看感觉自己当年真的是太年轻了。

    public static void main(String[] args) {
    
        String str = "bingfeng";
    
        if (str == null || str.equals("")) {
    
        }
    }
    

    那么经历同事的各种嫌弃之后,现在终于不这么写了,要是现在看到那个初级工程师这么写,肯定叫兄弟过去欺负他。

    除了这种写法之外,也见到过有些人愿意自己去实现封装一层,写一个工具类用,其实真的感觉没必要,切莫重复早轮子。这种东西别人已经帮我们做好了,而且也比我们这些菜鸟做的好多了,所以推荐直接用就行了。

    我们直接引入pom文件即可,他给我们提供了一些基础的功能供我们使用。

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.9</version>
    </dependency>
    

    首先第一种,isNotEmpty 这个方法可以判断字符串是否为空。
    第二种,isNotBlank 这个方法也是用来判断字符串是否为空。

    public static void main(String[] args) {
    
        String str = "bingfeng";
    
        if (StringUtils.isNotBlank(str)) {
    
            System.out.println("isNotBlank:" + str);
        }
    
        if (StringUtils.isNotEmpty(str)) {
    
            System.out.println("isNotEmpty:" + str);
        }
    }
    

    既然上面两种方法都可以判断时候为空,那又有什么区别呢?首先两个方法都可以判断字符串是否为null,但是我们平常在业务中,特别是用户搜索,用户很可能输入空白字符,如果用户什么也没输入,就敲了两个空格,那么提交到后台,按道理来说空字符串肯定是不合法的,那么此时的isNotEmpty是无法判断的,相反isNotBlank却可以在去除字符串两边的空格然后再进行判断,所以这里推荐大家使用 isNotBlank 更为安全。

    集合空值判断

    再来看一段当年的传奇之作

    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
    
        if (list == null || list.size() <= 0) {
    
        }
    }
    

    一般对集合都要进行两项判断,首先判断是否不为null,其次判断是否不为为空,如果都满足,再进行下面的操作,我们用上面的写法虽说没什么问题,但是真的有点太年轻了。

    推荐写法:

    public static void main(String[] args) {
    
        List<String> list = new ArrayList<>();
    
        if (CollectionUtils.isEmpty(list)) {
    
        }
    }
    

    我们来看下这个方法的底层实现,便会长大许多。

    public static boolean isEmpty(@Nullable Collection<?> collection) {
        return collection == null || collection.isEmpty();
    }
    

    写到这里,基本上就差不多啦,但是还是透露一下我常用的秘籍,我一般都会对判断集合的方式,做一层包装做成一个工具类,提供更多的方法提高代码的复用性。大家且看下面。

    /**
     * @Description: TODO <集合工具类>
     * @Date: 2019/10/15/015  09:32
     * @Author: bingfeng
     */
    public class ArrayUtil {
    
        /**
         * 判断集合是否为空
         *
         * @param collection
         * @return
         */
        public static boolean isEmpty(Collection<?> collection) {
            return CollectionUtils.isEmpty(collection);
        }
    
        /**
         * 将集合中的元素输出为字符串,并用{@code separator}连接
         *
         * @param collection
         * @param separator
         * @return
         */
        public static String join(Collection<?> collection, String separator) {
    
            if (isEmpty(collection)) {
                return null;
            }
    
            StringBuffer sb = new StringBuffer();
            for (Object o : collection) {
                sb.append(o).append(separator);
            }
            sb.deleteCharAt(sb.length() - 1);
            return sb.toString();
        }
    
        /**
         * 创建一个空的集合
         *
         * @return
         */
        public static <T> List<T> emptyList() {
            return Collections.emptyList();
        }
    
        /**
         * 将字符串按特定字符分割
         *
         * @param str
         * @param separator
         * @return
         */
        public static List<String> transition(String str, String separator) {
    
            if (StringUtils.isBlank(str)) {
                return emptyList();
            }
    
            String[] split = str.split(separator);
    
            return Arrays.asList(split);
        }
    }
    

    道阻且长,就让我们恩恩爱爱,活得潇潇洒洒吧。。。

    展开全文
  • JSTL操作集合

    2010-11-01 09:43:20
    JSTL与EL表达式(为空判断) ...3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何取得保存在s...
    JSTL与EL表达式(为空判断)
    一、循环遍历集合

    1、在jsp中引入标准函数声明
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    2、若要判断集合的大小,则需要引入如下声明
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    3、如何使用jstl判断集合是否为空
    ${user}为集合,user为集合名
    <c:if test="${empty user}">无信息!</c:if>为空
    <c:if test="${!empty user}">其它</c:if>非空

    4、如何取得集合的大小
    ${fn:length(集合名<如果是session中的集合则应该加上sessionScope.键>)}
    ${fn:length(map)}

    5、如何取得保存在session中的对象?
    ${sessionScope.键.对象属性}

    6、varStatus显示循环变量的状态
    例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status"
    <tag:if test="${status%2==1}">
    .....................
    </tag:if>
    </tag:forEach>
    其中status这个变量就记录了循环变量的状态

    7、如何遍历Map集合
    <c:forEach var="foodmap" items="${sessionScope.cart}" varStatus="status">
    <c:set var="subtotal" value="${foodmap.value.bean.foodPrice*foodmap.value.quantity}"></c:set>
    </c:forEach>
    遍历Map集合的值:
    foodmap:保存session中的map
    foodmap.value:取得map的值,即获取保存在map中的一个对象
    要获取对象中的数据,必须用foodmap.value.quantity去点对象的属性(quantity就是对象的属性)
    8、对象属性为空显示默认值
    <c:forEach var="customer" items="${customers}">
    <tr>
    <td><c:out value="${customer.lastName}"/></td>
    <td><c:out value="${customer.phoneHome}" default="no home phone specified"/></td>
    <td>
    <c:out value="${customer.phoneCell}" escapeXml="false">
    <font color="red">no cell phone specified</font>
    </c:out>
    </td>
    </tr>
    </c:forEach>
    展开全文
  • JSTL为空判断

    2011-04-03 23:27:58
    JSTL与EL表达式(为空判断) ...3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何取得保存在s...
    JSTL与EL表达式(为空判断)
    一、循环遍历集合

    1、在jsp中引入标准函数声明
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    2、若要判断集合的大小,则需要引入如下声明
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

    3、如何使用jstl判断集合是否为空
    ${user}为集合,user为集合名
    <c:if test="${empty user}">无信息!</c:if>为空
    <c:if test="${!empty user}">其它</c:if>非空

    4、如何取得集合的大小
    ${fn:length(集合名<如果是session中的集合则应该加上sessionScope.键>)}
    ${fn:length(map)}

    5、如何取得保存在session中的对象?
    ${sessionScope.键.对象属性}

    6、varStatus显示循环变量的状态
    例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status"
    <tag:if test="${status%2==1}">
    .....................
    </tag:if>
    </tag:forEach>
    其中status这个变量就记录了循环变量的状态

    7、如何遍历Map集合
    <c:forEach var="foodmap" items="${sessionScope.cart}" varStatus="status">
    <c:set var="subtotal" value="${foodmap.value.bean.foodPrice*foodmap.value.quantity}"></c:set>
    </c:forEach>
    遍历Map集合的值:
    foodmap:保存session中的map
    foodmap.value:取得map的值,即获取保存在map中的一个对象
    要获取对象中的数据,必须用foodmap.value.quantity去点对象的属性(quantity就是对象的属性)
    8、对象属性为空显示默认值
    <c:forEach var="customer" items="${customers}">
    <tr>
    <td><c:out value="${customer.lastName}"/></td>
    <td><c:out value="${customer.phoneHome}" default="no home phone specified"/></td>
    <td>
    <c:out value="${customer.phoneCell}" escapeXml="false">
    <font color="red">no cell phone specified</font>
    </c:out>
    </td>
    </tr>
    </c:forEach>
    展开全文
  • 3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何取得保存在session中的对象? ${session...
  • Null的处理在JAVA编程中是出了try catch之外的另一个头疼的问题,需要大量的非空判断模板代码,程序逻辑嵌套层次太深。尤其是对集合的使用,需要层层判空。 首先来看下Optional类的结构图: 1,Optional拥...
  • 一个星群是指一组非空的在水平,垂直或对角线方向相邻的星星的集合。 一个星群不能是一个更大星群的一部分。 星群可能是相似的。 如果两个星群的形状、包含星星的数目相同,那么无论它们的朝向如何,都认为它们是...
  • JSTL与EL表达式

    2013-08-14 17:38:01
    3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何...
  • jstl为空

    2010-08-11 09:51:17
    JSTL与EL表达式(为空判断) ...3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何取得保存在s...
  • 浅谈JSTL

    2012-07-09 17:38:55
    3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 无信息!为空 其它非空 4、如何取得集合的大小 ${fn:length(集合名)} ${fn:length(map)} 5、如何取得保存在session中的对象? ${sessionScope.键...
  • 数据结构学科:研究数据与组织数据方式的学科 数据结构:相互间存特定关系的数据元素的... 基本操作:初始化,插入,判断非空,删除,查找等 算法理论:研究的如何更好更快的解决可计算问题的学科。 算法:解...
  • idea中的代码模板功能还是比较强大的 比如Live Templates功能 ...比如我们判断集合非空: 再比如过滤HashMap: 个人感觉这个还是很强大的, 使用好了, 我们在写业务代码的时候就不用想集合一些判空,字符串判空,lam
  • 1、如何使用jstl判断集合是否为空  ${user}为集合,user为集合名  无信息!为空  其它非空 2、jstl中的数字格式化输出;   3、jstl格式化百分数:   4、Java格式化百分数:  DecimalFormat df = new ...
  • if/elif/else语句嵌套分支X>0FalseTrue选择结构的基本问题开始输入x输出你输入的是正数输输出你输入的是非正数结束问题如何判断一个数是否为正数逻辑判断与条件表达式选择结构程序根据条件表达式的值是True/非零/...
  • 思路: 因为用户按时间顺序输入,把...如何判断两个用户是否在一个集合? 使用Map。其中Key为用户名字,Value为朋友圈。 如何遍历当前用户后面的用户? 开一个数组保存,从当前用户下标开始遍历。 #include <io...
  • AcWing 1402. 星空之夜 1月28 题意: 一个星群是指一组非空的在水平,垂直或...本题的关键在于如何判断两个星群是否相似,也就是如何分配字母的问题。题目说了相似说明两个星群形状一样,与方向无关,形状这一特征我们
  • 空指针异常让人厌恶,恐怕是实际应用中出现次数最多的异常了,...无论是要使用一个object,还是要遍历一个集合,都需要确保他们是非空的。这是一条在任何情况都行之有效的准则 Object obj = service.getObj(); ...
  • 集合中我们经常使用的就是hashmap,我们知道它的底层实现是hash桶外加链表的方式来进行存储数据的,但是底层又是如何进行具体实现的,我们可能真的说不清除。现在我们从源码层次上进行讲解hashmap的原理; get方法...
  • 本篇文章主要详细介绍数据在表中是如何组织和存放的,表是特定实体的数据集合。 1. 索引组织表 在Innodb存储引擎中,数据在表中是按照主键的顺序存储的。如果没有显示的定义主键,则会按照如下方式选择或者创建主键...
  • 其中,A是数据结构中的数据(称为结点)的非空有限集合,R是定义在A上的关系的非空有限集合。 根据数据元素之间的关系的不同特性,通常有下列4类基本结构。  集合——结构中的数据元素除了“同属于一个集合”的...
  • VBA常用技巧

    2013-03-25 21:10:12
    技巧3获得指定行、列中的最后一个非空单元格15 技巧4定位单元格18 技巧5查找单元格19 5-1使用Find方法19 5-2使用Like运算符23 技巧6替换单元格内字符串24 技巧7复制单元格区域25 技巧8仅复制数值到另一区域28 8-1...

空空如也

空空如也

1 2 3
收藏数 41
精华内容 16
关键字:

如何判断非空集合