前言
string是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符,如"Abc",“一天”.字符串是一个特殊的对象,属于引用类型。 在java、C#中,String类对象创建后,字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。 今天我们来着重讲解一下JAVA中的String类。
String类
在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。
创建一个String类
String 类有 11 种构造方法,这些方法提供不同的参数来初始化字符串
String str = "Runoob";//最简单的方式 String str2=new String("Runoob");//用构造函数创建字符串 //String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上: String s1 = "Runoob"; // String 直接创建 String s2 = "Runoob"; // String 直接创建 String s3 = s1; // 相同引用 String s4 = new String("Runoob"); // String 对象创建 String s5 = new String("Runoob"); // String 对象创建
注:String 类是不可改变的,所以你一旦创建了 String 对象,那它的值就无法改变了
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer & StringBuilder 类。
常用方法
字符串长度 length() 方法
用于获取有关对象的信息的方法称为访问器方法
public class StringDemo { public static void main(String args[]) { String site = "hello world"; int len = site.length(); System.out.println( "长度 : " + len ); } }
连接字符串 concat() 方法
String 类提供了连接两个字符串的方法
string1.concat(string2);
返回 string2 连接 string1 的新字符串。也可以对字符串常量使用 concat() 方法,如:
public class StringDemo { public static void main(String args[]) { String string1 = "hello:"; System.out.println("1、" + string1 + "world"); } }
创建格式化字符串 format()
String 类的静态方法 format() 能用来创建可复用的格式化字符串,而不仅仅是用于一次打印输出。
System.out.printf("浮点型变量的值为 " + "%f, 整型变量的值为 " + " %d, 字符串变量的值为 " + "is %s", floatVar, intVar, stringVar);
功能
String 类提供的成员执行以下操作:比较 String 对象;返回 String 对象内字符或字符串的索引;复制 String 对象的值;分隔字符串或组合字符串;修改字符串的值;将数字、日期和时间或枚举值的格式设置为字符串;对字符串进行规范化。
- 使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith方法进行比较。
- 使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可获取字符串中子字符串或 Unicode 字符的索引。
- 使用 Copy 和 CopyTo 可将字符串或子字符串复制到另一个字符串或Char 类型的数组。
- 使用 Substring 和 Split 方法可通过原始字符串的组成部分创建一个或多个新字符串;使用
- Concat 和 Join 方法可通过一个或多个子字符串创建新字符串。
- 使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart可修改字符串的全部或部分。
- 使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant方法可更改字符串中 Unicode 字符的大小写。
- 使用 Length 属性可获取字符串中 Char 对象的数量;使用 Chars属性可访问字符串中实际的 Char 对象。
- 使用 IsNormalized 方法可测试某个字符串是否已规范化为特定的范式。使用Normalize 方法可创建规范化为特定范式的字符串。