首页 > 其他分享 >工具类

工具类

时间:2023-01-03 10:36:39浏览次数:26  
标签:return String public str 字符串 工具 StringUtil

工具类

  • 工具类无需创建对象就能使用,可以直接使用类中的属性和方法,一般都声明为静态
  • 工具类对外提供的属性和方法都是公共的
  • 提供丰富的方法和属性

自定义String工具类 -- StringUtil

import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;
import java.util.UUID;

public class Util {
    public static void main(String[] args) throws Exception {

        System.out.println(StringUtil.isEmpty(null));  //true
        System.out.println(StringUtil.isEmpty(""));    //true
        System.out.println(StringUtil.isEmpty("    "));//true
        System.out.println(StringUtil.isEmpty("abc")); //false

        System.out.println(StringUtil.makeString());
        System.out.println(StringUtil.makeString("abcdefg123456", 6));

        System.out.println(StringUtil.formatDate(new Date(), "yyyy-MM-dd"));
        System.out.println(StringUtil.parseDate("2022-01-03", "yyyy-MM-dd"));

    }
}

//字符串工具类
class StringUtil{

    //字符串非空判断
    public static boolean isEmpty(String str){
        //字符串为null
//        if (str==null) {
//            return true;
//        }
//        //字符串为空字符串
//        if ("".equals(str)) {
//            return true;
//        }
//        //字符串全为空格 -- .trim()方法去除字符串中的空格
//        if ("".equals(str.trim())) {
//            return true;
//        }
        //合并三个判断
        if (str == null || "".equals(str.trim())) {
            return true;
        }

        return false;
    }

    public static boolean isNotEmpty(String str){
        //直接调用
        return !isEmpty(str);
    }

    //生成随机字符串
    public static String makeString(){
        //UUID类提供了字符串的随机生成 -- 伪随机 与当前时间戳相关
        return UUID.randomUUID().toString();
    }

    //从给定字符串中随机获取字符形成随机字符串
    public static String makeString(String from,int len){
        if ( len < 1 ) {
            return "";
        }else{
            //获取字符串中的所有字符
            char[] chars = from.toCharArray();
            //StringBuilder 可变的字符序列 提供增加、删除字符串中字符等方法
            StringBuilder str = new StringBuilder();
            for (int i = 0; i < len; i++) {
                //Random类提供随机生成数组、字符等方法
                Random random = new Random();
                //传入的实参chars.length限定随机数的范围
                int t = random.nextInt(chars.length);
                char c = chars[t];
                //StringBuilder.append() 字符串拼接
                str.append(c);
            }

            return str.toString();
        }
    }

    //转换字符串:IS08859-1 => str => UTF-8
    public static String transform(String source, String encodeForm, String encodeTo) throws Exception{
        //.getBytes方法 可以从指定编码中获取字符
        byte[] bytes = source.getBytes(encodeForm);
        //String构造方法 可以将字符数组转换为指定编码的字符串
        return new String(bytes,encodeTo);
    }

    //将字符串转换为指定格式的日期
    public static Date parseDate(String dateString, String format) throws Exception{
        //SimpleDateFormat类 可以根据字符串格式创建日期对象 -- 对象的一个属性
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        //日期对象的.parse()方法 可以将字符串转换为指定格式(对象创建时的属性)
        return sdf.parse(dateString);
    }

    //将指定格式的日期转换为字符串
    public static String formatDate(Date date, String format) throws Exception{
        //SimpleDateFormat类 可以根据字符串格式创建日期对象 -- 对象的一个属性
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        //日期对象的.format()方法 可以将指定格式的日期转换为字符串
        return sdf.format(date);
    }
}

标签:return,String,public,str,字符串,工具,StringUtil
From: https://www.cnblogs.com/Ashen-/p/17021279.html

相关文章

  • 怎么快速掌握企业财务情况?BI财务分析工具给你支一招
    站在财务的角度看,企业运营管理是以财务管理为中心。财务分析做得好,能直观展现资金的安全、收益和利用效率(周转性),给业务管理决策提供依据。那么,从哪些视角入手可以掌握企业财......
  • 【YOLO学习笔记——数据集】之一YOLO数据集制作1(含LabelImg工具讲解)
    前言一、综述YOLO有自己训练好的数据集,在YOLOv2中,数据集可检测的类别达9000种以上,但是9000毕竟不是全部,它能涵盖大部分的物体识别,但是可能对于某些用户来说是不够的,所以我......
  • 在线流程图工具
    前端项目选型:VUE3TSantv-x6mittaxioselement-plus后端项目选型nacosspring-bootspring-cloudspring-securityoauth2、JWT、JDK工具加解密gatewaymybatis-plusmysqlknife4j......
  • 记一次并发工具类countdownlantch 在线程池中的使用
    首先新建一个 ThreadFactory:packagecn.likui.common.thread.pool;importjava.util.concurrent.ThreadFactory;importjava.util.concurrent.atomic.AtomicInteger......
  • [Grafana监控工具]--安装和部署
    一、参考文档1、安装说明​​http://docs.grafana.org/ ​​2、使用说明​​http://docs.grafana.org/guides/getting_started​​​​http://docs.grafana.org/guides/bas......
  • 【卫朋】智能硬件 | 做好一款电子硬件产品,工具必不可少
    常用工具,大家可先收藏文末有免费彩蛋(8大产品干货资料)虚实结合,打造最强产品人上到战略规划,中至运营策略,下至人性洞察,本号力图为读者呈现一整套的产品落地化打法。最初做产品......
  • 一个精选的模型监控工具列表
    Aporia借助Aporia,数据科学家和ML工程师可以轻松地为他们在生产中运行的ML模型构建监控。特征:构建您自己的监控器:轻松定义监控逻辑。概念漂移和数据完整性检测:针对......
  • 开源引导工具Ventoy 1.0.86 发布
    开源装机工具Ventoy1.0.86正式发布,可使用ISO或者IMG等磁盘镜像格式创建可启动媒体。Ventoy支持在一个U盘上放置多个磁盘镜像,从而可以在一个设备上运行不同版......
  • Kusto 2023 快速入门 开篇 —— 启发式和探索式的大数据分析工具
    陈希章2023年1月2日于上海这是一个献给自己的新年礼物,但其实已经构思了很久,这一方面跟我多年的工作经历有关——我的职业生涯中最为有意思的部分可能就是跟数据打......
  • 架构制图:工具与方法论
       前言 “架构制图”这词乍一听似乎有些晦涩,但如果提起“工程制图”,相信绝大部分工科背景的程序员们都不会陌生,甚至还能共同感慨下那些年一起伏在宿舍左手圆规......