【JavaSE】String类详解(上篇)

简介: 【JavaSE】String类详解(上篇)

hello,进来的小伙伴们,你们好呐!

系列专栏:【JavaSE】

本篇内容:String类简单概述,初始Stirng,了解具体用法!

作者简介:一名大二即将升大三的科班小白,我很平凡,学会努力!

码云存放仓库gitee:点击链接就可以看到我的代码存放仓库啦!

一、字符串构造

有三种方式:

   public class Test1 {

       public static void main(String[] args) {

           // 使用常量串构造

           String s1 = "hello java";

           System.out.println(s1);

   

           // 直接newString对象

           String s2 = new String("hai java");

           System.out.println(s2);

   

           // 使用字符数组进行构造

           char[] arr = {'h','e','l','l','o'};

           String s3 = new String(arr);

           System.out.println(s3);

       }

   }

运行结果:

4a600356c07f4350ae0666624699abfc.png

注意:1. String是引用类型,内部并不存储字符串本身。

二、String对象的比较

1. ==比较是否引用同一个对象。

对于内置类型,==比较的是变量中的值;对于引用类型==比较的是引用中的地址。

          // 对于基本类型变量,==比较两个变量中存储的值是否相同

           int a = 10;

           int b = 20;

           int c = 10;

           System.out.println(a==b);

           System.out.println(a==c);

7dce6bba56944801808a3f583e9df06b.png

2. boolean equals(Object anObject) 方法:按照字典序比较。

           String s1 = new String("hello java");

           String s2 = new String("hello java");

           String s3 = new String("party");

           System.out.println(s1.equals(s2));

           System.out.println(s1.equals(s3));

虽然s1与s2引用的不是同一个对象,但是两个对象中放置的内容相同,因此输出true。

s1与s3引用的不是同一个对象,而且两个对象中内容也不同,因此输出false 。

9a432703073a4a0ba93e0dbd20287335.png

3. int compareTo(String s) 方法

与equals不同的是,equals返回的是boolean类型,而compareTo返回的是int类型。

1. 先按照字典次序大小比较,如果出现不等的字符,直接返回这两个字符的大小差值。

2. 如果前k个字符相等(k为两个字符长度最小值),返回值两个字符串长度差值。

     String s1 = new String("abc");

     String s2 = new String("ac");

     String s3 = new String("abc");

     String s4 = new String("abcdef");

     System.out.println(s1.compareTo(s2));  // 不同输出字符差值-1

     System.out.println(s1.compareTo(s3));  // 相同输出 0

     System.out.println(s1.compareTo(s4));  // 前k个字符完全相同,输出长度差值 -3


32b40b7a2d1f4fe392f5d8847449c781.png

4.int compareToIgnoreCase(String str) 方法:与compareTo方式相同,但是忽略大小写比较

     String s1 = new String("abc");

     String s2 = new String("ac");

     String s3 = new String("ABc");

     String s4 = new String("abcdef");

     System.out.println(s1.compareToIgnoreCase(s2));  // 不同输出字符差值-1

     System.out.println(s1.compareToIgnoreCase(s3));  // 相同输出 0

     System.out.println(s1.compareToIgnoreCase(s4));  // 前k个字符完全相同,输出长度差值 -3

三、字符串查找

由于String类的方法较多,这里就不给大家一一演示了,感兴趣的可以参考一下官方文档。

String官方文档!https://docs.oracle.com/javase/8/docs/api/index.html

bf691c847072405ea5ac8554021f0d9e.png

相关文章
|
29天前
|
API 索引
String类下常用API
String类下常用API
32 1
|
29天前
for循环和String类下方法的一个练习题
for循环和String类下方法的一个练习题
42 1
|
6天前
|
存储 安全 Java
Java——String类详解
String 是 Java 中的一个类,用于表示字符串,属于引用数据类型。字符串可以通过多种方式定义,如直接赋值、创建对象、传入 char 或 byte 类型数组。直接赋值会将字符串存储在串池中,复用相同的字符串以节省内存。String 类提供了丰富的方法,如比较(equals() 和 compareTo())、查找(charAt() 和 indexOf())、转换(valueOf() 和 format())、拆分(split())和截取(substring())。此外,还介绍了 StringBuilder 和 StringJoiner 类,前者用于高效拼接字符串,后者用于按指定格式拼接字符串
11 1
Java——String类详解
|
2天前
|
安全 Java
Java StringBuffer 和 StringBuilder 类详解
在 Java 中,`StringBuffer` 和 `StringBuilder` 用于操作可变字符串,支持拼接、插入、删除等功能。两者的主要区别在于线程安全性和性能:`StringBuffer` 线程安全但较慢,适用于多线程环境;`StringBuilder` 非线程安全但更快,适合单线程环境。选择合适的类取决于具体的应用场景和性能需求。通常,在不需要线程安全的情况下,推荐使用 `StringBuilder` 以获得更好的性能。
|
2天前
|
Java 索引
Java String 类详解
Java 中的 `String` 类用于表示不可变的字符序列,是 Java 标准库 `java.lang` 包的一部分。字符串对象一旦创建,其内容不可更改,修改会生成新对象。
|
30天前
|
存储 SQL Java
Java 系类之 Java StringBuffer类详解
这篇文章详细介绍了Java中的StringBuffer类的使用,包括其构造方法、追加字符串、替换字符、反转字符串和删除字符串的方法,并提供了相应的示例代码。
|
30天前
|
安全 Java API
Java系类 之 String、StringBuffer和StringBuilder类的区别
这篇文章讨论了Java中`String`、`StringBuffer`和`StringBuilder`三个类的区别,其中`String`是不可变的,而`StringBuffer`是线程安全的可变字符串类,`StringBuilder`是非线程安全的可变字符串类,通常在单线程环境下性能更优。
Java系类 之 String、StringBuffer和StringBuilder类的区别
|
17天前
|
存储 C++
C++(五)String 字符串类
本文档详细介绍了C++中的`string`类,包括定义、初始化、字符串比较及数值与字符串之间的转换方法。`string`类简化了字符串处理,提供了丰富的功能如字符串查找、比较、拼接和替换等。文档通过示例代码展示了如何使用这些功能,并介绍了如何将数值转换为字符串以及反之亦然的方法。此外,还展示了如何使用`string`数组存储和遍历多个字符串。
|
23天前
|
缓存 安全 Java
Java String类
Java String类
14 0
|
25天前
|
存储 C++
C++ dll 传 string 类 问题
C++ dll 传 string 类 问题
16 0