首页 > 其他分享 >四,String

四,String

时间:2024-10-20 20:24:31浏览次数:1  
标签:字符 String int str1 字符串 new

String 类详解

在 Java 编程语言中,String 类是处理字符串的核心类。字符串是由字符序列组成的数据,可以看作是字符数组。String 类是不可变的,这意味着一旦创建,它的值就不能被改变。这种特性使得 String 对象在多线程环境中非常安全,因为不需要担心数据被意外修改。

String 类的特点

  1. 不可变性String 对象一旦创建,就不能被改变。任何修改操作都会生成一个新的 String 对象。
  2. 连续固定大小的内存空间String 对象在内存中占用连续的空间,大小在创建时就固定了。

String 类的构造方法

String 类提供了多种构造方法,允许从不同的数据类型创建字符串:

// 创建一个空字符串
String emptyString = new String();

// 从字节数组创建字符串
byte[] bytes = {72, 101, 108, 108, 111};
String stringFromBytes = new String(bytes);

// 从字节数组的指定部分创建字符串
byte[] bytesPartial = {72, 101, 108};
String stringFromBytesPartial = new String(bytesPartial, 0, 3);

// 从字符数组创建字符串
char[] chars = {'H', 'e', 'l', 'l', 'o'};
String stringFromChars = new String(chars);

// 从字符数组的指定部分创建字符串
char[] charsPartial = {'H', 'e', 'l', 'l', 'o'};
String stringFromCharsPartial = new String(charsPartial, 1, 3);

// 从另一个字符串复制创建新字符串
String original = "Hello";
String copy = new String(original);

String 类的方法

String 类提供了丰富的方法来操作字符串,包括判断、获取、转换和其他功能。

判断功能

String str1 = "hello";
String str2 = "hello";
String str3 = "Hello";

// 判断两个字符串是否相等
boolean isEqual = str1.equals(str2); // true

// 判断两个字符串忽略大小写是否相等
boolean isEqualIgnoreCase = str1.equalsIgnoreCase(str3); // true

// 判断字符串是否包含某个子字符串
boolean contains = str1.contains("ell"); // true

// 判断字符串是否以某个子字符串开始
boolean startsWith = str1.startsWith("hel"); // true

// 判断字符串是否以某个子字符串结束
boolean endsWith = str1.endsWith("llo"); // true

// 判断字符串是否为空
boolean isEmpty = str1.isEmpty(); // false

获取功能

// 获取字符串的长度
int length = str1.length(); // 5

// 获取指定索引处的字符
char charAt = str1.charAt(1); // 'e'

// 获取字符在字符串中第一次出现的位置
int indexOfChar = str1.indexOf('e'); // 1

// 获取字符串在字符串中第一次出现的位置
int indexOfString = str1.indexOf("ell"); // 1

// 从指定索引开始,获取字符在字符串中第一次出现的位置
int indexOfCharFromIndex = str1.indexOf('e', 2); // 1

// 从指定索引开始,获取字符串在字符串中第一次出现的位置
int indexOfStringFromIndex = str1.indexOf("ell", 2); // -1

// 获取从指定位置开始到字符串末尾的子字符串
String substringFromStart = str1.substring(1); // "ello"

// 获取从开始位置到结束位置的子字符串
String substringToEnd = str1.substring(1, 3); // "el"

转换功能

// 将字符串转换为字节数组
byte[] bytes = str1.getBytes();

// 将字符串转换为字符数组
char[] chars = str1.toCharArray();

// 将字符数组转换为字符串
String stringFromCharArray = String.valueOf(chars);

// 将整数转换为字符串
String stringFromInt = String.valueOf(123);

// 将字符串转换为小写
String lowerCase = str1.toLowerCase(); // "hello"

// 将字符串转换为大写
String upperCase = str1.toUpperCase(); // "HELLO"

// 将字符串连接到另一个字符串的结尾
String concat = str1.concat(" World"); // "hello World"

替换功能

// 将字符串中的字符替换为新字符
String replaceChar = str1.replace('e', 'a'); // "hallo"

// 将字符串中的子字符串替换为新子字符串
String replaceString = str1.replace("ell", "ip"); // "halip"

其他功能

// 去除字符串两端的空格
String trim = str1.trim(); // "hello"

// 按字典顺序比较两个字符串
int compare = str1.compareTo("hello"); // 0
int compareToIgnoreCase = str1.compareToIgnoreCase("HELLO"); // 0

总结

String 类是 Java 中处理字符串的基础,其不可变性和丰富的方法使得字符串操作既安全又方便。通过理解 String 类的特点和方法,可以更有效地进行字符串处理和编程。

标签:字符,String,int,str1,字符串,new
From: https://www.cnblogs.com/bjynjj/p/18487798

相关文章

  • 五,StringBuffer
    Java中的StringBuffer类详解StringBuffer类是Java中用于创建可变字符串的类。与String类不同,StringBuffer对象允许在原有字符串上进行修改,而不需要创建新的字符串对象。这种特性使得StringBuffer在需要频繁修改字符串的场景下更加高效。此外,StringBuffer是线程安全的......
  • PbootCMS附件上传失败报错UNKNOW: Code: 8192; Desc: stripos(): Non-string needles
    PbootCMS附件上传失败报错“UNKNOW:Code:8192;Desc:stripos():Non-stringneedleswillbeinterpretedasstringsinthefuture.”是由于PHP版本更新导致的兼容性问题。具体来说,stripos()函数在处理非字符串类型的第二个参数(即needle)时,未来版本的PHP将会将其视为字符串,而......
  • C++ -string -常见用法4
    博客主页:【夜泉_ly】本文专栏:【C++】欢迎点赞......
  • [LeetCode] 1545. Find Kth Bit in Nth Binary String
    Giventwopositiveintegersnandk,thebinarystringSnisformedasfollows:S1="0"Si=Si-1+"1"+reverse(invert(Si-1))fori>1Where+denotestheconcatenationoperation,reverse(x)returnsthereversedstringx,an......
  • lua插件之----【luaString 字符串类】
    API列表 接口原型说明luaString.left(str,num)获取字符串左侧指定数量的字符luaString.right(str,num)获取字符串右侧指定数量的字符luaString.mid(str,pos,num)获取字符串指定起始位置后的几个字符luaString.lTrim(str,filterStr)去掉字符串左侧指定......
  • 常用APIStringBuilder类
    StringBuilder代表可变字符串对象,相当于是一个容器,它里面的字符串是可以改变的,就是用来操作字符串的。好处:StringBuilder比String更合适做字符串的修改操作,效率更高,代码也更加简洁。1StringBuilder方法演示1.1字符串拼接接问题:builder.append();可以拼接int、long、d......
  • 出现WrongArgumentException: Malformed database URL, failed to parse the connecti
    目录1.问题所示2.原理分析3.解决方法1.问题所示编辑数据源的时候,后端出现如下BugThelastpacketsentsuccessfullytotheserverwas0millisecondsago.Thedriverhasnotreceivedanypacketsfromtheserver.com.mysql.cj.jdbc.exceptions.Com......
  • String interpolation using $
    The$characteridentifiesastringliteralasaninterpolatedstring.Aninterpolatedstringisastringliteralthatmightcontaininterpolationexpressions.Whenaninterpolatedstringisresolvedtoaresultstring,thecompilerreplacesitemswithin......
  • 【C++】string类(1)
    ......
  • java 11天 StringBuffer static
    补充:1--100正则表达式1-100 100拿出去或上“[1-9][0-9]{0,1}|100”0--100  0和100拿出去或上“[1-9][0-9]{0,1}|100|0”获取常量池中的地址 String - intern();String学过23个 一.StringBufferStringBuffer 字符串长度+16 StringBuffer空间是2*oldCap......