当前位置:首页 » 编程语言 » java字符串对象

java字符串对象

发布时间: 2024-09-06 01:18:24

java字符串格式化和工具类使用

前言

我们在做项目时候经常需要对字符串进行处理,判断,操作,所以我就总结了一下java字符串一些常用操作,和推荐比较好用我在自用的工具类,毕竟有轮子我们自己就不用重复去写了,提供开发效率,剩下的时间就去约女朋友吧哈哈哈!!!!

java内置操作format

我们知道平时我们都会做字符串拼接打印操作,单还是在用?号嘛,那样就很low为力显示逼格,使用format操作很有必要?

String类的format()方法用于创建格式化的字符串以及连接多个字符串对象,制定字符串格式和参数生成格式化的字符串。显示不同转换符实现不同数据类型到字符串的转换

测试用例:

@Testpublicvoida(){Stringstr="";str=String.format("Hi,%s","王力");System.out.println(str);str=String.format("Hi,%s:%s.%s","王南","王力","王张");System.out.println(str);System.out.printf("字母a的大写是:%c%n",'A');System.out.printf("3>7的结果是:%b%n",3>7);System.out.printf("100的一半是:%d%n",100/2);System.out.printf("100的16进制数是:%x%n",100);System.out.printf("100的8进制数是:%o%n",100);System.out.printf("50元的书打8.5折扣是:%f元%n",50*0.85);System.out.printf("上面价格的16进制数是:%a%n",50*0.85);System.out.printf("上面价格的指数表示:%e%n",50*0.85);System.out.printf("上面价格的指数和浮点数结果的长度较短的是:%g%n",50*0.85);System.out.printf("上面的折扣是%d%%%n",85);System.out.printf("字母A的散列码是:%h%n",'A');}

打印结果

._________/\/___'_____(_)______\\(()\___|'_|'_||'_/_`|\\\/___)||_)|||||||(_||))))'|____|.__|_||_|_||_\__,|////=========|_|==============|___/=/_/_/_/::SpringBoot::(v2.4.7)2021-09-1010:42:07INFObackground-preinitorg.hibernate.validator.internal.util.VersionHV000001:HibernateValidator6.1.7.Final2021-09-1010:42:.8.0_202onxiangyongdeMacBook-Pro.localwithPID46281(startedbyxiangyongin/Users/xiangyong/selfProject/project/kmall/kmall-api)2021-09-1010:42::test,mptest__|___|_.____|_|||/|_)(_|||_|_)||_|_/|3.4.12021-09-1010:42:.755seconds(JVMrunningfor8.519)Hi,王力Hi,王南:王力.王张字母a的大写是:A3>7的结果是:false100的一半是:50100的16进制数是:64100的8进制数是:14450元的书打8.5折扣是:42.500000元上面价格的16进制数是:0x1.54p5上面价格的指数表示:4.250000e+01上面价格的指数和浮点数结果的长度较短的是:42.5000上面的折扣是85%字母A的散列码是:41

更多格式进入参考这里

equals

两个字符串做比较,当然这里比较的话就不得不提老生常谈的问题,==和equals区别

首先的区别是,equals是方法,而==是操作符;

equals比较的是两个字符串内容而不是引用

==在比较对象时比较的是引用地址是否相同,在比较基本类型时比较的是其内容

@Testpublicvoida(){//s1与s2不是同一个对象Strings1=newString("aaa");Strings2=newString("aaa");System.out.println(s1==s2);//falseSystem.out.println(s1.equals(s2));//true//s5与s6是基本数据类型Strings5="aaa";Strings6="aaa";System.out.println(s5==s6);//trueSystem.out.println(s5.equals(s6));//true//s3和s4是同一个地址的引用Strings3=newString("aaa");Strings4=s3;System.out.println(s3==s4);//trueSystem.out.println(s3.equals(s4));//true}

注意我们看到s5==s6是true而s1==s2是false,因为s5和s6是基本数据类型此时比较的是值,s1和s2是对象比较的是引用所以是不同两个String对象比较引用

这里涉及到基本数据类型:

Java中有8种基本数据类型(字母开头小写),即boolean、byte、short、char、int、float、long、double,基本数据类型不是对象,放在堆栈中,用完就销毁,访问速度快。而对象放在堆中。如果必须用到对象Java针对每种基本数据类型提供了包装类,即Boolean、Byte、Short、Character、Integer、Float、Long、Double(开头大写)等。

详细深入参考点击进入

toString

返回当前String对象的字符串表示形式,一般用于打印对象信息方便快捷,所有类都继承object,任何类,都可以重写toString方法

工具类hutool

借用官方引用:

Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的

点击进入官网导航强烈推荐

已发布maven中央仓库,多么模块可以单独引用某一个模块,也可以引用全部,

包含组件如下:

ApacheCommons

分的比较·散乱单,应为不是专门的工具库,但是用起来还是挺不错的使用频率最高的框架。有很多实用的工具类并没有全部列出来,只列出了最基础的一部分,感兴趣的小伙伴,可以看官方的api进行更深入的学习

ApacheCommons有很多子项目,常用的项目如下

详细使用参考这里点击进入

作者:kenx

❷ 在java中存放字符串变量的对象属于什么类对象

在java中存放字符串变量的对象属于StringBuffe类亏散对象。
因为在java生成启辩字符串的两个类String和StringBuffer中,前者生成的字符串是不变字符串不能直接对它的内容进行修改,而后者生成的字符串是可变的,可以对其内容进行修改,所以在java中存放字符串变量的对象属于StringBuffe类对象。
Java是一门面向对象编销旁氏程语言。

热点内容
如何将安卓机设置为苹果机 发布:2024-11-25 09:41:24 浏览:969
服务器屏蔽一段ip 发布:2024-11-25 08:52:06 浏览:100
售茶源码 发布:2024-11-25 08:37:29 浏览:463
压缩包改直链 发布:2024-11-25 08:34:33 浏览:611
安卓机的照片如何传送到苹果机上 发布:2024-11-25 08:32:48 浏览:917
手游服务器怎么找ip 发布:2024-11-25 08:23:10 浏览:752
c语言名次 发布:2024-11-25 08:04:22 浏览:56
新浪云服务器登录 发布:2024-11-25 08:04:21 浏览:854
工控机服务器电脑的区别 发布:2024-11-25 08:04:21 浏览:514
Python对比matlab 发布:2024-11-25 07:45:58 浏览:307