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));
    }
目录
相关文章
|
10天前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
53 10
|
16天前
|
SQL 安全 Java
安全问题已经成为软件开发中不可忽视的重要议题。对于使用Java语言开发的应用程序来说,安全性更是至关重要
在当今网络环境下,Java应用的安全性至关重要。本文深入探讨了Java安全编程的最佳实践,包括代码审查、输入验证、输出编码、访问控制和加密技术等,帮助开发者构建安全可靠的应用。通过掌握相关技术和工具,开发者可以有效防范安全威胁,确保应用的安全性。
34 4
|
18天前
|
缓存 监控 Java
如何运用JAVA开发API接口?
本文详细介绍了如何使用Java开发API接口,涵盖创建、实现、测试和部署接口的关键步骤。同时,讨论了接口的安全性设计和设计原则,帮助开发者构建高效、安全、易于维护的API接口。
47 4
|
18天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
66 4
|
22天前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
63 2
|
23天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
24天前
|
存储 Java 关系型数据库
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践
在Java开发中,数据库连接是应用与数据交互的关键环节。本文通过案例分析,深入探讨Java连接池的原理与最佳实践,包括连接创建、分配、复用和释放等操作,并通过电商应用实例展示了如何选择合适的连接池库(如HikariCP)和配置参数,实现高效、稳定的数据库连接管理。
44 2
|
24天前
|
监控 Java 数据库连接
在Java开发中,数据库连接管理是关键问题之一
在Java开发中,数据库连接管理是关键问题之一。本文介绍了连接池技术如何通过预创建和管理数据库连接,提高数据库操作的性能和稳定性,减少资源消耗,并简化连接管理。通过示例代码展示了HikariCP连接池的实际应用。
19 1
|
17天前
|
安全 Java 测试技术
Java开发必读,谈谈对Spring IOC与AOP的理解
Spring的IOC和AOP机制通过依赖注入和横切关注点的分离,大大提高了代码的模块化和可维护性。IOC使得对象的创建和管理变得灵活可控,降低了对象之间的耦合度;AOP则通过动态代理机制实现了横切关注点的集中管理,减少了重复代码。理解和掌握这两个核心概念,是高效使用Spring框架的关键。希望本文对你深入理解Spring的IOC和AOP有所帮助。
31 0
WK
|
23天前
|
开发框架 移动开发 Java
C++和Java哪个更适合开发移动应用
本文对比了C++和Java在移动应用开发中的优劣,从市场需求、学习难度、开发效率、跨平台性和应用领域等方面进行了详细分析。Java在Android开发中占据优势,而C++则适合对性能要求较高的场景。选择应根据具体需求和个人偏好综合考虑。
WK
40 0
下一篇
无影云桌面