日常开发中,String类中常用的方法
作者:orcl
博客:https://orcl-zung.github.io/
你知道的越多,不知道的越多
一、String的构造方法
// 把字符串数据封装成字符串对象
String(String original)// 把字符数组的数据封装成字符串对象
String(char[] value)// 把字符数组中的一部分数据封装成字符串对象
String(char[] value, int index, int count)
二、String类的获取功能:
length()
:获取字符串的长度,其实也就是字符个数
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.length());
运行结果:
18
charAt(int index)
:获取指定索引处的字符
String str = "adsfaxsdfas沙发上案发地方";char[] c = {'a','d','s','f','a'};
System.out.println(str.charAt(12));
运行结果:
发
indexOf(String str)
:获取str在字符串对象中第一次出现的索引
有小伙伴指出是获取指定字符在该字符串中从指定索引处开始第一次出现位置的索引,这里是题主的失误哈,测试使用了 indexOf(String str) 的重载方法,有点不严谨,现已经更改。
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.indexOf("a"));
运行结果:
0
- 另外再补充下 indexOf 的其他几个重载方法
indexOf(int)
返回此字符串中第一次出现指定字符的索引,参数可以传入 char 字符,这里会将 char 字符转换为相应的 unicode 码。
index(int, int)
返回此字符串中第一次出现指定字符的索引,从指定索引开始搜索。其实 indexOf(int) 底层也是调用此方法,只不过第二个参数传入的是 0 ,也就是说从头开始搜索。
indexOf(String)
以及indexOf(String, int)
则是同样的道理。 substring(int start)
:从start开始截取字符串
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.substring(1));
运行结果:
dsfaxsdfas沙发上发地方
String substring(int start,int end)
:从start开始,到end结束截取字符串。包括start,不包括end
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.substring(1, 12));
运行结果:
dsfaxsdfas沙
三、String判断功能
equals(Object obj)
:比较字符串的内容是否相同
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.equals("adsfaxsdfas沙发上发地方"));
System.out.println(str.equals("adsfaxsdfas"));
运行结果:
true
false
equalsIgnoreCase(String anotherString)
:比较字符串的内容是否相同,忽略大小写
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.equalsIgnoreCase("ADsfaxsdfAs沙发上发地方"));
运行结果:
true
startsWith(String prefix)
:判断字符串对象是否以指定的字符开头(区分大小写)
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.startsWith("a"));
System.out.println(str.startsWith("A"));
运行结果:
true
false
startsWith(String prefix,int toffset)
:判断字符串对象是否以指定的字符开头,参数toffset为指定从哪个下标开始
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.startsWith("f", 3));
System.out.println(str.startsWith("f", 4));
运行结果:
true
false
endsWith(String str)
:判断字符串对象是否以指定的字符结尾
String str = "adsfaxsdfas沙发上案发地方";
System.out.println(str.endsWith("x"));
System.out.println(str.endsWith("方"));
运行结果:
false
true
isEmpty()
:判断指定字符串是否为空
四、String类中的转化方法:
toCharArray()
:把字符串转换为字符数组
public static void main(String[] args) {String str = "adsfaxsdfas沙发上发地方";char arr[] = str.toCharArray();printArray(arr);
}
public static void printArray(char a[]) {for(int i=0;i<a.length;i++) {System.out.print(a[i]+"--");}
}
运行结果:
a–d–s–f–a–x–s–d–f–a–s–沙–发–上–发–地–方–
toLowerCase()
:把字符串转换为小写字符串
String str1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
System.out.println(str1.toLowerCase());
运行结果:
abcdefghijklmnopqrstuvwxyz
toUpperCase()
:把字符串转换为大写字符串
String str1 = "abcdefghijklmnopqrstuvwxyz";
System.out.println(str2.toUpperCase());
运行结果:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
五、其他常用方法
trim()
:去除字符串两端空格
String str3 = " a c e x u a n x u a n ";
System.out.println(str3.trim());
System.out.println(str3);
运行结果:
a c e x u a n x u a n
a c e x u a n x u a n
split()
:去除字符串中指定的的字符,然后返回一个新的字符串
public static void main(String[] args) {String str = "adsfaxsdfas沙发上发地方";String array[] = str.split("a");printString(array);
}
public static void printString(String a[]) {for(int i=0;i<a.length;i++) {System.out.print(a[i]);}
}
运行结果:
dsfxsdfs沙发上发地方
subSequence(int beginIndex,int endIndex)
:截取字符串中指定位置的字符组成一个新的字符串
String str = "adsfaxsdfas沙发上发地方";
System.out.println(str.subSequence(1, 10));
运行结果:
dsfaxsdfa
replace(char oldChar, char newChar)
:将指定字符替换成另一个指定的字符
String str = "adsfaxsdfas沙发上发地方";
System.out.println(str.replace('a', 's'));
运行结果:
sdsfsxsdfss沙发上发地方
replaceAll(String regex,String replasement)
:用新的内容替换全部旧内容
String str4 = "Hello,world!";
System.out.println(str4.replaceAll("l", "&"));
运行结果:
He&&o,wor&d!
replaceFirst(String regex,String replacement)
:替换首个满足条件的内容
String str = "adsfaxsdfas沙发上发地方";
System.out.println(str.replaceFirst("沙", "璇"));
运行结果:
adsfaxsdfas璇发上发地方
lastIndexOf(String str)
:返回指定字符出现的最后一次的下标
String str4 = "Hello,world!";
System.out.println(str4.lastIndexOf("l"));
运行结果:
9
contains(CharSequence s)
:查看字符串中是都含有指定字符
String str4 = "Hello,world!";
System.out.println(str4.contains("l"));
运行结果:
true
concat(String str)
:在原有的字符串的基础上加上指定字符串
String str5 = "dr";
System.out.println(str5.concat("eam"));
运行结果:
dream
六、开发过程中经常用到的方法
/*** 截取字符串str中指定字符 strStart、strEnd之间的字符串** @param str 待截取的字符串* @param strStart 起始字符或字符串* @param strEnd 截止字符或字符串* @return*/
public String subString(String str, String strStart, String strEnd) {// 找出指定的2个字符在该字符串里面的位置 int strStartIndex = str.indexOf(strStart);int strEndIndex = str.indexOf(strEnd);// index为负数,即表示该字符串中没有该字符if (strStartIndex < 0) {return "字符串 :---->" + str + "<---- 中不存在 " + strStart + ", 无法截取目标字符串";}if (strEndIndex < 0) {return "字符串 :---->" + str + "<---- 中不存在 " + strEnd + ", 无法截取目标字符串";}// 开始截取return str.substring(strStartIndex, strEndIndex).substring(strStart.length());
}
日常开发中,String类中常用的方法相关推荐
- java中string的方法_java中String类中的常用方法
@Test public void testToString2() { /** * 他会调用toString方法 他调用的其实是Object类中的toString方法 引用会隐式调用toStri ...
- Java中String类中compareTo( )方法
compareTo方法是比较简单的,我们可以直接看其源码: 源码如下: public int compareTo(String anotherString) {int len1 = value.len ...
- 17.Java常用实用类之String类中常用的方法以及一般应用场景,final关键字
文章目录 1.String类学习 1.1.什么是String类 1.2.String类中常用的方法 1.2.1. 构造方法 1.2.2.public int length() 1.2.3.public ...
- java面向对象使用字符串_java面向对象中的String类中12种常用的方法
1.字符串与字符数组的转换 字符串可以使用toCharArray()方法变成一个字符数组,也可以使用String类的构造方法把一个字符数组变成一个字符串. public class StringAPI ...
- 标准C++中string类用法总结
2019独角兽企业重金招聘Python工程师标准>>> 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好 ...
- 【JAVA中String类的相关知识】
文章目录 一.创建字符串 1.1创建字符串时的内存布局 二.字符串比较相等 2.1equals方法 三.字符串常量池 3.1实例化操作的内存布局 3.2intern手动入池 四.理解字符串不可变 4. ...
- 【持续更新】C++中string类使用总结
C++中string类的功能以及使用方法可类比于C语言中的字符数组,但是相互比较之下可谓是是有过之而无不及,实在是太方便,故留此贴总结日常学习所得经验. 智障blog,排版这么难???? 1. 创建字 ...
- java中string类_Java中String类浅谈
1)String对象的初始化 由于String对象特别常用,所以在对String对象进行初始化时,Java提供了一种简化的特殊语法,格式如下: String s = "abc&qu ...
- java string类api_JAVA中String类的常用方法API
@[toc] 前言 String 类是我们日常经常使用的Java类,以下是对该类的信息汇总,类的关系图如下 String类关系图 创建: String s="hello!";//使 ...
- c++ 输出string_来讲讲Java中String 类的知识点
本文来总结一下Stirng 的有关知识点 1.String中的引用 String 可以通过new和构造方法来创建一个对象,用s来引用它(也就是相当于把asdf这个字符串赋值给s String s = ...
最新文章
- java堆与非堆的一些研究_堆和堆傻傻分不清?一文告诉你 Java 集合中「堆」的最佳打开方式...
- OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配
- java kaptcha_java相关:kaptcha验证码使用方法详解
- 您准备好观看GraphQL了吗?
- 【Leetcode | 02】二叉树、线性表目录
- 张平文院士:展示计算数学的魅力
- 智能戒指,一个新鲜智能穿戴产物
- linux分析java堆栈信息,Linux下获取java堆栈文件并进行分析
- Bugly使用及APP版本更新
- 妇科癌症中的肠道菌群:病因、治疗潜力
- 杭州好玩景点攻略470
- 群晖邮箱服务器需要什么证书,群晖NAS邮件通知及两步验证登录详解
- 微信小程序连接emqx服务器实现数据交互
- 基于Android的微信主界面
- 导热系数仪 德国PSL 德国培赛乐 快速阻垢性能测试仪 抗车辙剂 摇摆槽 水合物摇摆槽 水合物相变的固-液-气多相流动 水合物阻聚剂分析 沥青硫化氢分析 沥青絮凝点 沥青絮凝点测定仪 油田注水阻垢剂
- php讯飞文本纠错接口对接
- gradle自定义任务
- 7-14 电话聊天狂人 (25分)
- 北师大c语言2019在线作业,2019最新C语言考试题库及答案
- Moore-Penrose伪逆
热门文章
- android启动序列帧动画,关于 Lottie 动画的说明及应用
- 【电子技术】高速串行信号的预加重(Pre-emphasis)和去加重(De-emphasis)
- SQL Server 数据库之连接查询
- [读书笔记]职场动物进化手册
- 蓝桥杯Python题目(二)
- RISC-V MCU 应用教程之RTC自动唤醒
- 高考作文也被AI攻克?B站UP主爆肝100天,开发会写高考作文的AI
- 分享15款堪称神器却鲜为人知的软件和网站
- 读取WIND数据(行情、基金净值等)的SAS程序
- java linux 时间戳转时间_SpringMVC全局参数转换——linux时间戳转换LocalDateTime