您现在的位置是:主页 > news > 宿迁网站建设开发/长尾词在线挖掘
宿迁网站建设开发/长尾词在线挖掘
admin2025/6/22 8:56:28【news】
简介宿迁网站建设开发,长尾词在线挖掘,宝安网站设计师,小程序申请目录 工具类 字符串工具 16进制工具 URL工具 XML工具 XML与对象转换 对象工具 判断是否为空 反射 剪切板工具 命令行工具 数字工具 工具类 字符串工具 判断是否为空 给定指定字符串,如果是空,则返回true,使用到hasBlank和hasEm…
目录
工具类
字符串工具
16进制工具
URL工具
XML工具
XML与对象转换
对象工具
判断是否为空
反射
剪切板工具
命令行工具
数字工具
工具类
字符串工具
给定指定字符串,如果是空,则返回true
,使用到hasBlank
和hasEmpty
方法。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进制工具
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工具
对于不带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分为两个方法:
XmlUtil.readXML
读取XML文件XmlUtil.parseXml
解析XML字符串为Document对象
XmlUtil.toStr
将XML文档转换为StringXmlUtil.toFile
将XML文档写入到文件
XmlUtil.createXml
创建XML文档, 创建的XML默认是utf8编码,修改编码的过程是在toStr和toFile方法里,既XML在转为文本的时候才定义编码。
通过以下工具方法,可以完成基本的节点读取操作。
XmlUtil.cleanInvalid
除XML文本中的无效字符XmlUtil.getElements
根据节点名获得子节点列表XmlUtil.getElement
根据节点名获得第一个子节点XmlUtil.elementText
根据节点名获得第一个子节点XmlUtil.transElements
将NodeList转换为Element列表
XML与对象转换
writeObjectAsXml
将可序列化的对象转换为XML写入文件,已经存在的文件将被覆盖。readObjectFromXml
从XML中读取对象。
注意 这两个方法严重依赖JDK的
XMLEncoder
和XMLDecoder
,生成和解析必须成对存在(遵循固定格式),普通的XML转Bean会报错。
更多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());
对象工具
需要满足:
obj1 == null && obj2 == null
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
二进制转intNumberUtil.binaryToLong
二进制转longNumberUtil.compare
比较两个值的大小NumberUtil.toStr
数字转字符串,自动并去除尾小数点儿后多余的0