【Java基础面试宝典】String类常用方法?String的分割、反转、截取方法?— day04

编程入门 行业动态 更新时间:2024-10-11 05:25:41

【Java基础面试宝典】String类常用<a href=https://www.elefans.com/category/jswz/34/1771314.html style=方法?String的分割、反转、截取方法?— day04"/>

【Java基础面试宝典】String类常用方法?String的分割、反转、截取方法?— day04

目录

String是不可变的有什么好处?

String类String常用方法

抽象类必须要有抽象方法吗?

普通类和抽象类有哪些区别?

抽象类能使用 final 修饰吗?

String的截取方法

String的分割方法

String的反转方法

String如何转成int

String中统计某个字符串出现的次数

为什么我们在使用HashMap的时候总是用String做key?


String是不可变的有什么好处?

String是不可变类有以下几个优点:

由于String是不可变类,所以在多线程中使用是安全的,我们不需要做任何其他同步操作。

String是不可变的,它的值也不能被改变,所以用来存储数据密码很安全。

因为java字符串是不可变的,可以在java运行时节省大量java堆空间。因为不同的字符串变量可以引用池中的相同的字符串。如果字符串是可变得话,任何一个变量的值改变,就会反射到其他变量,那字符串池也就没有任何意义了。


String类String常用方法

indexof(); 返回指定字符的的索引。

charAt(); 返回指定索引处的字符。

replace(); 字符串替换。• trim(); 去除字符串两端空格。

split();字符串分割,返回分割后的字符串数组。

getBytes();返回字符串 byte 类型数组。

length();返回字符串长度。

toLowerCase(); 将字符串转换为小写字母。

toUpperCase();将字符串转换为大写字母。

substring(); 字符串截取。

equals(); 比较字符串是否相等


抽象类必须要有抽象方法吗?

不需要,抽象类不一定非要有抽象方法。抽象类并没有抽象方法但完全可以正常运行。


普通类和抽象类有哪些区别?

  • 普通类不能包含抽象方法,抽象类可以包含抽象方法。
  • 抽象类不能直接实例化,普通类可以直接实例化。


抽象类能使用 final 修饰吗?

不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类,如下图所示,编辑器也会提示错误信息:


String的截取方法

substring(int):有两个重载方法 第一个给它一个长度它会截取到末尾

substring(int,int)第二个是给它一个开始长度和结束长度,截取包含开始长度字符 不包含结束长度字符


String的分割方法

split:通过指定分割符将字符串分割为数组 对于一些转义字符 我们要加\才能正确分割开


String的反转方法

方法一:通过StringBuffer或StringBuilder的reverse方法来进行反转 再调用toString返回字符串

// StringBuffer reverseStringBuffer stringBuffer = new StringBuffer();stringBuffer. append("abcdefg");System. out. println(stringBuffer. reverse()); // gfedcba// StringBuilder reverseStringBuilder stringBuilder = new StringBuilder();stringBuilder. append("abcdefg");System. out. println(stringBuilder. reverse()); // gfedcba

方法二:通过String的toChartArray方法转换成字符数组 倒序循环字符数组 使用StringBuilder进行拼接

方法三:倒叙循环 使用chartAt方法 依次取出存入StringBuilder


String如何转成int

方法一:使用Integer的 parseInt  将String转成int 如果String字符串不是数字 调用parseInt 会出现类型转换异常。

方法二:使用Integer的 valueOf 将String转成Integer 再去调用Integer的intValue方法转成int


String中统计某个字符串出现的次数

使用Map来统计字符的出现次数 key存字符 value存出现次数 遍历字符串长度

使用chartAt获得字符 统计字符 如果没有出现过 字符数量为1 如果出现过字符数量+1


为什么我们在使用HashMap的时候总是用String做key?

因为字符串是不可变的,当创建字符串时,它的hashcode被缓存下来,不需要再次计算。因为HashMap内部实现是通过key的hashcode来确定value的存储位置,所以相比于其他对象更快。这也是为什么我们平时都使用String作为HashMap对象。


更多推荐

【Java基础面试宝典】String类常用方法?String的分割、反转、截取方法?— day04

本文发布于:2024-02-14 05:28:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1762261.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:方法   宝典   常用   基础   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!