String 类常用的方法
方法 | 解释说明 |
char charAt(int index)
|
返回字符串中第 index 个字符
|
boolean equals(String other)
|
如果字符串与 other 相等,返回 true;否则,返回 false。
|
boolean equalsIgnoreCase(String other)
|
如果字符串与 other 相等(忽略大小写),则返回 true;否则,返回 false。
|
int indexOf(String str)
|
返回从头开始查找第一个子字符串 str 在字符串中的索引位置。如果未找到子字符串 str,则返回-1。
|
lastIndexOf()
|
返回从末尾开始查找第一个子字符串 str 在字符串中的索引位置。如果未找到子字符串 str,则返回-1。
|
int length()
|
返回字符串的长度。
|
String replace(char oldChar,char newChar)
|
返回一个新串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。
|
boolean startsWith(String prefix)
|
如果字符串以 prefix 开始,则返回 true。
|
boolean endsWith(String prefix)
|
如果字符串以 prefix 结尾,则返回 true。
|
String substring(int beginIndex)
|
返回一个新字符串,该串包含从原始字符串 beginIndex 到串尾。
|
String substring(int beginIndex,int endIndex)
|
返回一个新字符串,该串包含从原始字符串 beginIndex 到串尾或 endIndex-1 的所有字符。
|
String toLowerCase()
|
返回一个新字符串,该串将原始字符串中的所有大写字母改成小写字母。
|
String toUpperCase()
|
返回一个新字符串,该串将原始字符串中的所有小写字母改成大写字母。
|
String trim()
|
返回一个新字符串,该串删除了原始字符串头部和尾部的空格
|
代码测试:
package demo4; public class StringTest { public static void main(String[] args) { String s="abcd"; String s1=new String("abcd"); System.out.println(s==s1); // 地址相比较结果false System.out.println(s.equals(s1));//值比较结果true System.out.println(s.substring(1));//从下标为1的地方截取 System.out.println(s.substring(1,3));//从下标为1截取,到下标为3结束不包含3 String value="abcdefjf"; System.out.println(value.charAt(3));//索引为3的是d System.out.println(value.replace("fj","&"));//把fj替换成& System.out.println(value.indexOf("e"));//字符串e的索引位置4 System.out.println(value.indexOf("BB"));//是否包含这个字符串,不包含返回-1 System.out.println(value.lastIndexOf("f"));//字符串f最后出现的位置7 System.out.println(value.startsWith("a"));//是否以a开头true System.out.println(value.endsWith("f"));//是否以f结尾 String value1=" I love you !"; System.out.println(value1.trim());//去掉所有的空格 System.out.println(value1.replace(" ",""));//把所有空格都去掉 System.out.println(value1.toUpperCase());//字符串转为大写字母 System.out.println(value1.toLowerCase());//字符串转为小写字母 } }
StringBuffer 和 StringBuilder
- 常用方法列表:
-
重载的 public StringBuilder append(…)方法可以为该 StringBuilder 对象添加字符序列,仍然返回自身对象。
-
方法 public StringBuilder delete(int start,int end)可以删除从 start 开始到 end-1 为止的一段字符序列,仍然返回自身对象。
-
方法 public StringBuilder deleteCharAt(int index)移除此序列指定位置上的 char,仍然返回自身对象。
-
重载的 public StringBuilder insert(…)方法可以为该 StringBuilder 对象在指定位置插入字符序列,仍然返回自身对象。
-
方法 public StringBuilder reverse()用于将字符序列逆序,仍然返回自身对象。
-
方法 public String toString() 返回此序列中数据的字符串表示形式。
-
和 String 类含义类似的方法:
public int indexOf(String str)
public int indexOf(String str,int fromIndex)
public String substring(int start)
public String substring(int start,int end)
public int length()
char charAt(int index)
-
String:不可变字符序列。
-
StringBuffer:可变字符序列,并且线程安全,但是效率低。
-
StringBuilder:可变字符序列,线程不安全,但是效率高(一般用它)。
package com.sxt.demo; public class TestString { public static void main(String[] args) { String s="abCde "; System.out.println(s.charAt(3));//索引为3的是d System.out.println(s.toLowerCase());//将这个字符串改为小写 System.out.println(s.toUpperCase());//将这个字符串改成大写 System.out.println(s.substring(0,3));//截取0-3索引的字符串 System.out.println(s.replace("d","o"));//替换 System.out.println(s.trim());//去掉空格 System.out.println(s.lastIndexOf("e"));//最后一个e出现的索引位置 System.out.println(s.indexOf(3));//字符串是否包含3,不包含返回-1 System.out.println(s.endsWith(" "));//是否以空格结尾 System.out.println(s.startsWith("a"));//是否以a开头 StringBuilder value=new StringBuilder(); value.append("我是"); value.append("一个"); value.append("可爱的人");//追加字符的意思 System.out.println(value); for(int i=1;i<=10;i++){ value.append(i); } System.out.println(value); StringBuffer a=new StringBuffer("永远开心快乐"); System.out.println(a.delete(4,6));//索引为4-6的地方删除 System.out.println(a.insert(0,"我"));//在索引为0的地方插入我 System.out.println(a.insert(1,"会"));//在索引为1的地方插入会 System.out.println(a.reverse());//字符串逆向 } }
希望在我的学习之路上留下足迹,时时刻刻提醒自己不忘初心!有时候你踮起脚不是为了更好的看到世界,而是为了让世界看到你!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!