美文网首页
String 类

String 类

作者: SingleDiego | 来源:发表于2018-03-20 11:03 被阅读10次

大部分编程语言都能够处理 字符串(String)。字符串是有序的字符集合,比如 "Hello World!"。在 Java 中,字符串被存储为 String 类对象。调用字符串对象的方法,可以实现字符串相关的操作。

String 类包含在 java.lang 包中。这个包会在 Java 启动的时候自动 import,所以可以当做一个 内置类(built-in class)。我们不需要显式的使用 import 引入 String 类。




创建字符串

我们之前使用类来创建对象。需要注意的时候,创建 String 类对象不需要 new 关键字。比如:

public class Test
{
    public static void main(String[] args)
    {
        String s = "Hello World!";
        System.out.println(s);                     
    }
}

输出:

Hello World!

实际上,当你写出一个 "Hello World" 表达式时,内存中就已经创建了该对象。如果使用 new String("Hello World!"),会重复创建出一个字符串对象。

String 类是唯一一个不需要 new 关键字来创建对象的类。使用的时候需要注意。




字符串操作

可以用 + 实现字符串的连接(concatenate),比如:

"abc" + s

字符串的操作大都通过字符串的相应方法实现,比如下面的方法:

方法 效果
s.length() 返回 s 字符串长度
s.charAt(2) 返回 s 字符串中下标为 2 的字符
s.substring(0, 4) 返回 s 字符串中下标 0 到 4 的子字符串
s.indexOf("Hello") 返回子字符串 "Hello" 的下标
s.startsWith(" ") 判断 s 是否以空格开始
s.endsWith("oo") 判断 s 是否以 "oo" 结束
s.equals("Good World!") 判断 s 是否等于 "Good World!" ,== 只能判断字符串是否保存在同一位置。需要使用 equals() 判断字符串的内容是否相同。
s.compareTo("Hello Nerd!") 比较 s 字符串与 "Hello Nerd!" 在词典中的顺序,返回一个整数,如果 <0,说明 s 在"Hello Nerd!"之前;如果 >0,说明 s 在 "Hello Nerd!" 之后;如果 ==0,说明 s 与 "Hello Nerd!" 相等。
s.trim() 去掉 s 前后的空格字符串,并返回新的字符串
s.toUpperCase() 将 s 转换为大写字母,并返回新的字符串
s.toLowerCase() 将 s 转换为小写,并返回新的字符串
s.replace("World", "Universe") 将 "World" 替换为 "Universe",并返回新的字符串




不可变对象

String 类对象是 不可变对象(immutable object)。程序员不能对已有的不可变对象进行修改。我们自己也可以创建不可变对象,只要在接口中不提供修改数据的方法就可以。

然而,String 类对象确实有编辑字符串的功能,比如 replace()。这些编辑功能是通过创建一个新的对象来实现的,而不是对原有对象进行修改。比如:

s = s.replace("World",  "Universe");

右边对 s.replace() 的调用将创建一个新的字符串 "Hello Universe!",并返回该对象的引用。通过赋值,引用 s 将指向该新的字符串。如果没有其他引用指向原有字符串 "Hello World!",原字符串对象将被垃圾回收。

相关文章

  • String

    1.String类2.String类和常量池3.String类常用的方法 1.String类 1.String类又...

  • String

    String UML类图 String 被 final 修饰,String 类不可被继承,不可变类。 String...

  • Java之String类

    String 1. String类基本特性 String类再Java类中也是一个很重要的类,String类的对象是...

  • string类

    string类 1. string类常用方法 2. string类常用方法2 3. string类的查找 判断字符...

  • 二十五、String与StringBuffer/StringBu

    一、 String类 1. String类概述 查阅API中的String类的描述,发现String 类代表字符串...

  • String类概述及其构造方法

    构造方法 String类的判断功能 String类的获取功能 String的转换功能 String类的其他功能

  • Java String总结

    Java String总结 String 类 String类定代码如下: 从代码看有两点需要注意: String类...

  • 8.2-全栈Java笔记:字符串相关类(String/Strin

    字符串相关类(String/StringBuilder /StringBuffer) String类 String...

  • 10.常用API—String

    常用API(String,ArrayList) String String类概述 String类定义的变量可以用于...

  • 第四章 复合类型(3)string类简介

    (三)string类简介 1.string类的优势: 使用string类的时候,必须在头文件中包含string,...

网友评论

      本文标题:String 类

      本文链接:https://www.haomeiwen.com/subject/ukdvqftx.html