java 开发中常用方法-阿里云开发者社区

开发者社区> fuyifang> 正文

java 开发中常用方法

简介: java 从List中拿出top指的条数数据、比较字符串是否在数组中、list转换string、验证字符串非空、验证List not null等
+关注继续查看

从List中拿出top指的条数数据:

/**
     * 取top x条产品类数据
     *
     * @param sourList  产品类集合
     * @param rowsCount 条数
     * @return List<ProductInfo>
     */
    public static List<ProductInfo> limitProductInfoList(List<ProductInfo> sourList,
                                                         int rowsCount) {

        List<ProductInfo> tempList = new ArrayList<>();
        if (sourList != null) {
            int sourListSize = sourList.size();
            if (rowsCount < sourListSize) {
                int subCount =
                        sourListSize % rowsCount == 0 ? sourListSize / rowsCount : sourListSize / rowsCount + 1;
                int startIndext = 0;
                int stopIndext = 0;
                for (int i = 0; i < subCount; i++) {
                    stopIndext =
                            (i == subCount - 1) ? stopIndext + sourListSize % rowsCount : stopIndext + rowsCount;
                    tempList = new ArrayList<ProductInfo>(sourList.subList(startIndext, stopIndext));
                    startIndext = stopIndext;
                    if (tempList.size() > 0) {
                        break;
                    }
                }
            } else {
                tempList = sourList;
            }
        }

        return tempList;
    }

比较字符串是否在数组中:

 private static String[] StarArray = new String[]{"DHTL", "IHTL", "GPKG", "GDIY", "GCRU"};

ArrayUtils.contains(StarArray, "DHTL")

//验证对象为null

if (ObjectUtils.equals(sysRole, null)) {
    sysRole = this.getRole(systemCode, loginName);
}

//验证List

if (CollectionUtils.isNotEmpty(sysRoleList)) {
    sysRole = sysRoleList.get(0);
}

//验证字符串-验证时候忽略空白

if (StringUtils.isBlank(formData.getPost())){
}

//验证字符串非空

if (StringUtils.isNotEmpty(userCard.getUID()))
/**
     * 清除空白字符
     *
     * @param str
     * @return
     */
    public static String trimAllWhitespace(String str) {
        if (str != null) {
            int len = str.length();
            if (len > 0) {
                char[] dest = new char[len];
                int destPos = 0;
                for (int i = 0; i < len; ++i) {
                    char c = str.charAt(i);
                    if (!Character.isWhitespace(c)) {
                        dest[destPos++] = c;
                    }
                }
                return new String(dest, 0, destPos);
            }
        }
        return str;
    }


    /**
     *list转换string
     * @param list  List<String>
     * @param separator 分隔符 逗号等
     * @return
     */
    public static String listToString(List<String> list, char separator) {
        return org.apache.commons.lang.StringUtils.join(list.toArray(), separator);
    }


    /**
     *string转换list
     * @param str 分隔符字符串
     * @param separator  逗号等
     * @return  List<String>
     */
    public static List<String> stringToList(String str, String separator) {
        return java.util.Arrays.asList(str.split(separator));
    }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring Boot 基础教程:入门简介
作为 Spring Boot 基础教程的开篇,本文主要介绍了 Spring Boot 的定义、特点以及它的优缺点,并探讨了我们为何要使用 Spring Boot 这一利器,使用它又能给我们带来什么好处。
16 0
有限状态机问题编程实践(下)
有限状态机问题编程实践(下)
6 0
Spring Boot 基础教程:配置详解
本文主要对 Spring Boot 项目中的配置文件进行了简单的介绍,并学习如何自定义属性并配置多环境项目,最后则是对比了当前主流的两种方式不同格式配置文件 yml 和 properties 的异同。
5 0
tddl连接池获取和释放流程疑问
最近遇到线上机器连接池满的情况,排查发现tddl里面在连接池获取和释放流程中有些问题
8 0
冬季实战营学习报告 第一期:从零到一上手玩转云服务器
这一期训练营从1月17号开始,为期5天。主要内容是了解学习阿里云的云服务(ECS) 因为提前加入了阿里云社区活动群,管理员每天都会提醒我们登录账号打卡学习,这里感谢管理员对我们的监督😊😊。
13 0
iLogtail 与Filebeat 性能对比
前段时间, iLogtail 阿里千万实例可观测采集器开源,其中介绍了iLogtail采集性能可以达到单核100MB/s,相比开源采集Agent有5-10倍性能优势。很多小伙伴好奇iLogtail具体的性能数据和资源消耗如何,本文将针对目前业界使用度较高且性能相对较优的Agent FileBeat进行对比,测试这两个Agent在不同压力场景下的表现如何。
5 0
Spring Boot 基础教程:创建 SpringBoot 项目的 3 种方式
上一篇中我们讲了 Spring Boot 的一些特点及优缺点,这一篇我们就来看看,如何创建一个最简单的 Spring Boot 项目!
7 0
阿里云初体验
web开发打包部署到linux服务器
16 0
电商小程序开发的关键在哪里?
电子商务行业作为微信小程序运用更为广泛的领域之一,电商小程序开发总数是很大的,因此市场竞争也很猛烈,针对并未进入电商小程序的店家来讲,在筹划电商小程序开发设计时需要留意什么?
5 0
+关注
fuyifang
携程旅行网技术研发中心资深研发工程师,研发Leader;CSDN博客专家;
260
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载