【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 方法可创建规范化为特定范式的字符串。


目录
相关文章
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
164 57
|
28天前
|
存储 JavaScript Java
Java 中的 String Pool 简介
本文介绍了 Java 中 String 对象及其存储机制 String Pool 的基本概念,包括字符串引用、构造方法中的内存分配、字符串文字与对象的区别、手工引用、垃圾清理、性能优化,以及 Java 9 中的压缩字符串特性。文章详细解析了 String 对象的初始化、内存使用及优化方法,帮助开发者更好地理解和使用 Java 中的字符串。
Java 中的 String Pool 简介
|
15天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
1月前
|
缓存 安全 Java
java 为什么 String 在 java 中是不可变的?
本文探讨了Java中String为何设计为不可变类型,从字符串池的高效利用、哈希码缓存、支持其他对象的安全使用、增强安全性以及线程安全等方面阐述了不可变性的优势。文中还通过具体代码示例解释了这些优点的实际应用。
java 为什么 String 在 java 中是不可变的?
|
28天前
|
存储 Java
Java 11 的String是如何优化存储的?
本文介绍了Java中字符串存储优化的原理和实现。通过判断字符串是否全为拉丁字符,使用`byte`代替`char`存储,以节省空间。具体实现涉及`compress`和`toBytes`方法,前者用于尝试压缩字符串,后者则按常规方式存储。代码示例展示了如何根据配置决定使用哪种存储方式。
|
1月前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
1月前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
2月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
66 8
|
2月前
|
Java
在Java中如何将基本数据类型转换为String
在Java中,可使用多种方法将基本数据类型(如int、char等)转换为String:1. 使用String.valueOf()方法;2. 利用+运算符与空字符串连接;3. 对于数字类型,也可使用Integer.toString()等特定类型的方法。这些方法简单高效,适用于不同场景。
69 7
|
2月前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
65 2