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
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
14 4
|
1天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
19 4
|
12天前
|
Java API
Java 对象释放与 finalize 方法
关于 Java 对象释放的疑惑解答,以及 finalize 方法的相关知识。
35 17
|
6天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
10 2
|
12天前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
54 8
|
7天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
7天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
20 2
|
7天前
|
监控 Java 数据库连接
在Java开发中,数据库连接管理是关键问题之一
在Java开发中,数据库连接管理是关键问题之一。本文介绍了连接池技术如何通过预创建和管理数据库连接,提高数据库操作的性能和稳定性,减少资源消耗,并简化连接管理。通过示例代码展示了HikariCP连接池的实际应用。
13 1
|
1天前
|
Java API Android开发
kotlin和java开发优缺点
kotlin和java开发优缺点
WK
|
7天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
16 0