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));
    }
目录
相关文章
|
1月前
|
安全 前端开发 Java
《深入理解Spring》:现代Java开发的核心框架
Spring自2003年诞生以来,已成为Java企业级开发的基石,凭借IoC、AOP、声明式编程等核心特性,极大简化了开发复杂度。本系列将深入解析Spring框架核心原理及Spring Boot、Cloud、Security等生态组件,助力开发者构建高效、可扩展的应用体系。(238字)
|
1月前
|
Java
Java语言实现字母大小写转换的方法
Java提供了多种灵活的方法来处理字符串中的字母大小写转换。根据具体需求,可以选择适合的方法来实现。在大多数情况下,使用 String类或 Character类的方法已经足够。但是,在需要更复杂的逻辑或处理非常规字符集时,可以通过字符流或手动遍历字符串来实现更精细的控制。
223 18
|
1月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
196 4
|
1月前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
266 5
|
2月前
|
算法 安全 Java
除了类,Java中的接口和方法也可以使用泛型吗?
除了类,Java中的接口和方法也可以使用泛型吗?
135 11
|
2月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
2月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
2月前
|
存储 Java 关系型数据库
Java 项目实战基于面向对象思想的汽车租赁系统开发实例 汽车租赁系统 Java 面向对象项目实战
本文介绍基于Java面向对象编程的汽车租赁系统技术方案与应用实例,涵盖系统功能需求分析、类设计、数据库设计及具体代码实现,帮助开发者掌握Java在实际项目中的应用。
116 0
|
3月前
|
算法 Java
Java语言实现链表反转的方法
这种反转方法不需要使用额外的存储空间,因此空间复杂度为,它只需要遍历一次链表,所以时间复杂度为,其中为链表的长度。这使得这种反转链表的方法既高效又实用。
370 0