您现在的位置是:主页 > news > 宿迁网站建设开发/长尾词在线挖掘

宿迁网站建设开发/长尾词在线挖掘

admin2025/6/22 8:56:28news

简介宿迁网站建设开发,长尾词在线挖掘,宝安网站设计师,小程序申请目录 工具类 字符串工具 16进制工具 URL工具 XML工具 XML与对象转换 对象工具 判断是否为空 反射 剪切板工具 命令行工具 数字工具 工具类 字符串工具 判断是否为空 给定指定字符串,如果是空,则返回true,使用到hasBlank和hasEm…

宿迁网站建设开发,长尾词在线挖掘,宝安网站设计师,小程序申请目录 工具类 字符串工具 16进制工具 URL工具 XML工具 XML与对象转换 对象工具 判断是否为空 反射 剪切板工具 命令行工具 数字工具 工具类 字符串工具 判断是否为空 给定指定字符串,如果是空,则返回true,使用到hasBlank和hasEm…

目录

工具类

字符串工具

16进制工具

URL工具

XML工具

XML与对象转换

对象工具

判断是否为空

反射

剪切板工具

命令行工具

数字工具


工具类

字符串工具

判断是否为空

给定指定字符串,如果是空,则返回true,使用到hasBlankhasEmpty方法。hasEmpty只判断是否为null或者是空字符串,hasBlank会把不可见的字符也算为空。

		String nullStr = null;// trueSystem.out.println(StrUtil.hasBlank(nullStr));// trueSystem.out.println(StrUtil.hasEmpty(nullStr));

删除前后缀

removePrefix为删除字符串前缀,removeSuffix为删除字符串后缀,经常用于去文件扩展名。

		String fileName = StrUtil.removeSuffix("HuTool学习.md", ".md"); // HuTool学习System.out.println(fileName);String fileName1 = StrUtil.removePrefix("HuTool学习.md", "HuTool学习."); // mdSystem.out.println(fileName1);

截取字符串

String中就有截取字符串的方法,但是时常会越界,在这个工具类中,该方法会自动判断,支持负数,(与python相同),第二个位置与第一个位置搞反了的话,也会自动识别更改。

		String str = "lolly1023";String strSub1 = StrUtil.sub(str, 0, 5); // lollySystem.out.println(strSub1);String strSub2 = StrUtil.sub(str, 0, -4);// lollySystem.out.println(strSub2);String strSub3 = StrUtil.sub(str, 5, 0);// lollySystem.out.println(strSub3);

格式化字符串

使用{}进行占位即可,然后使用format方法进行格式化

		// 使用{}占位String template = "{}+{}=2";// 1+1=2String str1 = StrUtil.format(template, "1", "1"); System.out.println(str1);

16进制工具

16进制的转换

		String str = "测试16进制转换";String hex = HexUtil.encodeHexStr(str, CharsetUtil.CHARSET_UTF_8);// e6b58be8af953136e8bf9be588b6e8bdace68da2System.out.println(hex);String decodedStr = HexUtil.decodeHexStr(hex);// 测试16进制转换,解码后与str相同System.out.println(decodedStr);

URL工具

标准化URL链接

对于不带http://头的地址做简单补全。

		String url = "http://www.hutool.cn//aaa/bbb";// 结果为:http://www.hutool.cn/aaa/bbbString normalize = URLUtil.normalize(url);System.out.println(normalize);url = "http://www.hutool.cn//aaa/\\bbb?a=1&b=2";// 结果为:http://www.hutool.cn/aaa/bbb?a=1&b=2normalize = URLUtil.normalize(url);System.out.println(normalize);

XML工具

读取XML

读取XML分为两个方法:

  • XmlUtil.readXML 读取XML文件
  • XmlUtil.parseXml 解析XML字符串为Document对象

写XML

  • XmlUtil.toStr 将XML文档转换为String
  • XmlUtil.toFile 将XML文档写入到文件

创建XML

  • XmlUtil.createXml 创建XML文档, 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码。

XML操作

通过以下工具方法,可以完成基本的节点读取操作。

  • XmlUtil.cleanInvalid 除XML文本中的无效字符
  • XmlUtil.getElements 根据节点名获得子节点列表
  • XmlUtil.getElement 根据节点名获得第一个子节点
  • XmlUtil.elementText 根据节点名获得第一个子节点
  • XmlUtil.transElements 将NodeList转换为Element列表

XML与对象转换

  • writeObjectAsXml 将可序列化的对象转换为XML写入文件,已经存在的文件将被覆盖。
  • readObjectFromXml 从XML中读取对象。

注意 这两个方法严重依赖JDK的XMLEncoderXMLDecoder,生成和解析必须成对存在(遵循固定格式),普通的XML转Bean会报错。

Xpath操作

更多Xpath操作:点击此处
举例xml文件

<?xml version="1.0" encoding="utf-8"?><returnsms> <returnstatus>Success(成功)</returnstatus>  <message>ok</message>  <remainpoint>1490</remainpoint>  <taskID>885</taskID>  <successCounts>1</successCounts> 
</returnsms>

java代码

		File xmlFile = new File("/Study/HuToolTest/src/main/java/com/rj/bd/HuToolTest/UTilTest/URLUtil/Test.xml");Document docResult=XmlUtil.readXML(xmlFile);Object value = XmlUtil.getByXPath("//returnsms/message", docResult, XPathConstants.STRING);// okSystem.out.println(value.toString());

对象工具

两个对象是否相等

需要满足:

  1. obj1 == null && obj2 == null
  2. obj1.equals(obj2)

才会返回true

		String string1 = "1";Integer integer1 = 1;// falseSystem.out.println(ObjectUtil.equal(string1, integer1));

计算对象长度

其实本质就是调用不同对象的计算长度方法,支持的类型有:

  • CharSequence
  • Collection
  • Map
  • Iterator
  • Enumeration
  • Array
		List<Integer> list = new ArrayList<Integer>();// 0System.out.println(ObjectUtil.length(list));

判断是否包含元素

即为判断对象中是否包含元素

		List<Integer> list1 = new ArrayList<Integer>();list1.add(0);// trueSystem.out.println(ObjectUtil.contains(list1, 0));

判断是否为空

		List<Integer> list2 = new ArrayList<Integer>();// falseSystem.out.println(ObjectUtil.isNull(list2));// trueSystem.out.println(ObjectUtil.isNotNull(list2));

克隆

  • ObjectUtil.clone克隆对象,如果对象实现Cloneable接口,调用其clone方法,如果实现Serializable接口,执行深度克隆,否则返回null

  • ObjectUtil.cloneIfPossible 返回克隆后的对象,如果克隆失败,返回原对象

  • ObjectUtil.cloneByStream 序列化后拷贝流的方式克隆,对象必须实现Serializable接口

序列化与反序列化

  • serialize 序列化,调用JDK序列化
  • unserialize 反序列化,调用JDK

判断基本类型

如果该对象是基本类型,则返回true,反之返回false。

		int i = 0;// trueSystem.out.println(ObjectUtil.isBasicType(i));

反射

获取某类的全部方法

		// 获取类中的全部方法Method[] methods = ReflectUtil.getMethods(Test.class);

获取某类的某个方法

		// 获取类中的某个方法Method method = ReflectUtil.getMethod(Test.class, "getID");

获取某类的构造方法

		// 获取某类的构造方法ReflectUtil.newInstance(Test.class);

执行方法

public class TestClass {public String print(String string) {return string;}
}	

测试类

		TestClass testClass = new TestClass();// lolly1023ReflectUtil.invoke(testClass, "print", "lolly1023");

剪切板工具

获取剪切板内容及修改剪切板内容

		// 获取系统剪切板内容Clipboard copy = ClipboardUtil.getClipboard();// 设置剪切板内容,图片的话使用setImageClipboardUtil.setStr("123");// 获取剪切板内容:123,图片的话使用getImageSystem.out.println(ClipboardUtil.getStr());

命令行工具

通过Java代码执行命令行命令,在Wubdows下是cmd,在Linux下是shell命令

执行命令

		// cmd下输入ipconfig为网卡信息String str = RuntimeUtil.execForStr("ipconfig");// 输出正常,为网卡信息System.out.println(str);

数字工具

加减乘除

  • NumberUtil.add 针对double类型做加法
  • NumberUtil.sub 针对double类型做减法
  • NumberUtil.mul 针对double类型做乘法
  • NumberUtil.div 针对double类型做除法,并提供重载方法用于规定除不尽的情况下保留小数位数和舍弃方式。

以上的方法都会将double转为BigDecimal,解决了精确问题。

保留小数

		double te1=123456.123456;double te2=123456.123456;// 第二个参数为保留几位小数// 123456.1Console.log(NumberUtil.round(te1,1));// 123456.123Console.log(NumberUtil.round(te2,3));

四舍五入

		double te3=123456.123456;double te4=123456.128456;// 第二个参数为保留几位小数//123456.12Console.log(NumberUtil.roundStr(te3,2));//123456.13Console.log(NumberUtil.roundStr(te4,2));

格式化

		long c=299792458;//光速String format = NumberUtil.decimalFormat(",###", c);//299,792,458System.out.println(format);

常用的格式化方式

  • 0 -> 取一位整数
  • 0.00 -> 取一位整数和两位小数
  • 00.000 -> 取两位整数和三位小数
  • # -> 取所有整数部分
  • #.##% -> 以百分比方式计数,并取两位小数
  • #.#####E0 -> 显示为科学计数法,并取五位小数
  • ,### -> 每三位以逗号进行分隔,例如:299,792,458
  • 光速大小为每秒,###米 -> 将格式嵌入文本

更多格式化操作,点击处此

是否为数字

  • NumberUtil.isNumber 是否为数字
  • NumberUtil.isInteger 是否为整数
  • NumberUtil.isDouble 是否为浮点数
  • NumberUtil.isPrimes 是否为质数

随机数

第一个参数为最小值,第二个参数为最大值,第三个参数为长度。

		// 生成随机数,用int类型数组承载int[] array = NumberUtil.generateRandomNumber(0, 10, 8);System.out.println(Convert.toStr(array));// 生成随机数,用Integer类型数组承载Integer[] array2 = NumberUtil.generateBySet(0, 10, 8);System.out.println(Convert.toStr(array2));

有序整数列表

生成一个有序的int类型数组

		// 第一个参数为起点,第二个参数为终点int[] array3 = NumberUtil.range(2, 5);// [2, 3, 4, 5]System.out.println(Convert.toStr(array3));

其它

  • NumberUtil.factorial 阶乘
  • NumberUtil.sqrt 平方根
  • NumberUtil.divisor 最大公约数
  • NumberUtil.multiple 最小公倍数
  • NumberUtil.getBinaryStr 获得数字对应的二进制字符串
  • NumberUtil.binaryToInt 二进制转int
  • NumberUtil.binaryToLong 二进制转long
  • NumberUtil.compare 比较两个值的大小
  • NumberUtil.toStr 数字转字符串,自动并去除尾小数点儿后多余的0