【JAVA】 String 类简述笔记

简介: 【JAVA】 String 类简述笔记

前言

string是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符,如"Abc",“一天”.字符串是一个特殊的对象,属于引用类型。 在java、C#中,String类对象创建后,字符串一旦初始化就不能更改,因为string类中所有字符串都是常量,数据是无法更改,由于string对象的不可变,所以可以共享。对String类的任何改变,都是返回一个新的String类对象。 今天我们来着重讲解一下JAVA中的String类。

image.png


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 对象的值分隔字符串或组合字符串修改字符串的值将数字、日期和时间或枚举值的格式设置为字符串对字符串进行规范化

  1. 使用 Compare、CompareOrdinal、CompareTo、Equals、EndsWith 和 StartsWith方法进行比较。
  2. 使用 IndexOf、IndexOfAny、LastIndexOf 和 LastIndexOfAny 方法可获取字符串中子字符串或 Unicode 字符的索引。
  3. 使用 Copy 和 CopyTo 可将字符串或子字符串复制到另一个字符串或Char 类型的数组。
  4. 使用 Substring 和 Split 方法可通过原始字符串的组成部分创建一个或多个新字符串;使用
  5. Concat 和 Join 方法可通过一个或多个子字符串创建新字符串。
  6. 使用 Insert、Replace、Remove、PadLeft、PadRight、Trim、TrimEnd 和 TrimStart可修改字符串的全部或部分。
  7. 使用 ToLower、ToLowerInvariant、ToUpper 和 ToUpperInvariant方法可更改字符串中 Unicode 字符的大小写。
  8. 使用 Length 属性可获取字符串中 Char 对象的数量;使用 Chars属性可访问字符串中实际的 Char 对象。
  9. 使用 IsNormalized 方法可测试某个字符串是否已规范化为特定的范式。使用Normalize 方法可创建规范化为特定范式的字符串。


目录
相关文章
|
27天前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
174 101
|
9天前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
54 1
|
9天前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
101 2
|
9天前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
68 1
|
9天前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
45 1
|
15天前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
163 5
|
4月前
|
存储 编译器 C语言
关于string的‘\0‘与string,vector构造特点,反迭代器与迭代器类等的讨论
你真的了解string的'\0'么?你知道创建一个string a("abcddddddddddddddddddddddddd", 16);这样的string对象要创建多少个对象么?你知道string与vector进行扩容时进行了怎么的操作么?你知道怎么求Vector 最大 最小值 索引 位置么?
89 0
|
7月前
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
160 11
|
7月前
|
Java
课时14:Java数据类型划分(初见String类)
课时14介绍Java数据类型,重点初见String类。通过三个范例讲解:观察String型变量、"+"操作符的使用问题及转义字符的应用。String不是基本数据类型而是引用类型,但使用方式类似基本类型。课程涵盖字符串连接、数学运算与字符串混合使用时的注意事项以及常用转义字符的用法。
177 9
|
7月前
|
存储 JavaScript Java
课时44:String类对象两种实例化方式比较
本次课程的主要讨论了两种处理模式在Java程序中的应用,直接赋值和构造方法实例化。此外,还讨论了字符串池的概念,指出在Java程序的底层,DOM提供了专门的字符串池,用于存储和查找字符串。 1.直接赋值的对象化模式 2.字符串池的概念 3.构造方法实例化
105 1