Java String介绍
在Java中,String基本上是表示char值序列的对象。字符的array与JavaString相同。例如:
char[] ch={'j','a','v','a','t','p','o','i','n','t'};
String s=new String(ch);
与:
Java String 类提供了许多对String执行操作的方法,例如compare(),concat(),equals(),split(),length(),replace(), compareTo(),intern(),substring()等。
java.lang.String类实现了
Serializable ,
Comparable 和
CharSequence
接口。
CharSequence接口
CharSequence接口用于表示字符序列。 String,StringBuffer 和 StringBuilder 类实现了它。这意味着,我们可以使用这三个类在Java中创建String。
JavaString是不可变的,这意味着它无法更改。每当我们更改任何String时,都会创建一个新实例。对于可变String,可以使用StringBuffer和StringBuilder类。
稍后我们将讨论不可变String。首先,让我们了解Java中的String以及如何创建String对象。
java中的String是什么
通常,String是字符序列。但是在Java中,String是一个代表字符序列的对象。 java.lang.String类用于创建String对象。
如何创建String对象?
有两种创建String对象的方法:
按String文字
使用new关键字
1)String文字
Java String文字是使用双引号创建的。例如:
每次创建String文字时,JVM首先检查"String常量池"。如果该String已经存在于池中,则返回对该池实例的引用。如果该String在池中不存在,则会创建一个新的String实例并将其放置在池中。例如:
String s1="Welcome";
String s2="Welcome";
在上面的示例中,将仅创建一个对象。首先,JVM在String常量池中找不到任何值为"Welcome"的String对象,这就是为什么它将创建一个新对象。之后,它将在池中找到值为" Welcome"的String,它将不会创建新对象,但会返回对同一实例的引用。
注意: String对象存储在称为"String常量池"的特殊存储区中。
为什么Java使用String文字的概念?
使Java的内存使用效率更高(因为没有new对象)如果它已经存在于String常量池中,则创建它们。
2)通过new关键字
String s=new String("Welcome");
在这种情况下,JVM将在普通(非池)堆内存中创建一个新的String对象,而文字" Welcome"将放置在String常量池中。变量s将引用堆(非池)中的对象。
JavaString示例
public class StringExample{
public static void main(String args[]){
String s1="java";
literalchar ch[]={
's','t','r','i','n','g','s'}
;
String s2=new String(ch);
String s3=new String("example");
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
}
}
Java String类方法
java.lang.String类提供了许多有用的方法来对char值序列执行操作。
相关主题
Java String对象是不可变的特性
Java String拼接
Java String如何比较
Java String截取
Java String toString()方法
Java StringBuffer类
Java StringBuilder类
Java StringTokenizer类