Java面向对象基础5——String类(1)

简介: String类的本质是字符数组,是Java中的文本数据类型。字符串常量是用双引号括起来的内容,Java中所有字符串字面值都作为此类的实例实现

一、前言


在本文将会介绍有关String类的知识


二、String类概述


String类的本质是字符数组,是Java中的文本数据类型。字符串常量是用双引号括起来的内容,Java中所有字符串字面值都作为此类的实例实现


三、String类的创建


1️⃣直接引用双引号


String 字符串名 = “abc”


2️⃣使用new关键字


  • 创建空白字符串:public String()
  • 根据传入的字符串,创建字符串内容:public String(String original)
public static void main(String[] args) {
        String s = new String("abc123");
        System.out.println(s);
    }

cc4fbd65a6fd4c24b6e87e87c9e1319a.png


  • 根据字符数组,创建字符串对象:public String(char[] chs)


public static void main(String[] args) {
        char[ ] c = {'a' , 'b' , 'c' , 'd'};
        String s = new String(c);
        System.out.println(c);
    }

65af920a6eb4453eaa43911bd951cf1a.png


  • 根据字节数组,创建字符串对象:public String(byte[] chs)


public static void main(String[] args) {
        byte[] c = {97,98,99};
        String s = new String(c);
        System.out.println(s);
    }

a8408ccea92e46d6ae1e54c70ab2bf37.png


四、String的API应用


当需要调用某一功能时,可以直接查阅


b1f25889adfe4828b51efe3ece7218d1.png


五、字符串的比较


1️⃣"=="比较


该方法比较的是地址值


new String是存储在堆内存中,而String s2直接赋值存储在 堆内存的串池 中,两者地址值不相同,所以运行结果是false


5ecb1e06468f4486a5cb78e324968914.png


2️⃣equals方法


boolean result = s1.equals(s2)


该方法是指比较两个带有字母的字符串时,一定要完全相同(不忽略)大小写


用IDEA实现一下


public class test2 {
    public static void main(String[] args) {
        String s1 = "ABC";
        String s2 = "abc";
        boolean result = s1.equals(s2);
        System.out.println(result);
    }
}

e82b4b6b61d4498c9f44e59e45fe99e9.png


3️⃣equalsIgnoreCase方法


该方法是指比较两个带有字母的字符串时,可以忽略字母大小写


用IDEA实现一下


public class test2 {
    public static void main(String[] args) {
        String s1 = "ABC";
        String s2 = "abc";
        boolean result = s1.equalsIgnoreCase(s2);
        System.out.println(result);
    }
}

536a9000a25541babda29f2713de9bf2.png


六、结语


本文介绍有关String类以及其操作,下一章将介绍有关String两类的知识


相关文章
|
5天前
|
算法 Java 数据处理
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。
从HashSet到TreeSet,Java集合框架中的Set接口及其实现类以其“不重复性”要求,彻底改变了处理唯一性数据的方式。HashSet基于哈希表实现,提供高效的元素操作;TreeSet则通过红黑树实现元素的自然排序,适合需要有序访问的场景。本文通过示例代码详细介绍了两者的特性和应用场景。
25 6
|
1天前
|
Java 测试技术 开发者
Java零基础-indexOf(String str)详解!
【10月更文挑战第14天】Java零基础教学篇,手把手实践教学!
92 65
|
2天前
|
Java
Java的原子变量类
Java的原子变量类
15 8
|
1天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
7 3
|
3天前
|
存储 SQL 安全
Java零基础-StringBuilder类详解
【10月更文挑战第12天】Java零基础教学篇,手把手实践教学!
16 5
|
1天前
|
Java
在Java多线程编程中,实现Runnable接口通常优于继承Thread类
【10月更文挑战第20天】在Java多线程编程中,实现Runnable接口通常优于继承Thread类。原因包括:1) Java只支持单继承,实现接口不受此限制;2) Runnable接口便于代码复用和线程池管理;3) 分离任务与线程,提高灵活性。因此,实现Runnable接口是更佳选择。
8 2
|
1天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
8 2
|
2天前
|
存储 Java API
详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
【10月更文挑战第19天】深入剖析Java Map:不仅是高效存储键值对的数据结构,更是展现设计艺术的典范。本文从基本概念、设计艺术和使用技巧三个方面,详细解析HashMap、TreeMap、LinkedHashMap等实现类,帮助您更好地理解和应用Java Map。
14 3
|
1天前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
15 5
|
1天前
|
Java 开发者
Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点
【10月更文挑战第20天】Java多线程初学者指南:介绍通过继承Thread类与实现Runnable接口两种方式创建线程的方法及其优缺点,重点解析为何实现Runnable接口更具灵活性、资源共享及易于管理的优势。
8 1