Java中最常用的类型——字符串(String)

简介: Java 提供了 String 类来创建和操作字符串。

0 写在前面

一般我们在Java中存储一个字符串的话不会使用char类型的数组,而是使用String;
Java 没有内置的字符串类型,而是在标准 Java类库中提供了一个预定义类,很自然地叫做 String。
也可以说Java中的string是字符串的意思,当声明了一个字符串变量时,便可以在里面存储数据。

1 创建字符串

格式:String 字符串名字 = "字符串内容";
双引号括起来。
举例:

        String str = "小腾";
        System.out.println(str);//输出小腾

很简单奥。

2 String类的方法

    • | char | charAt(int index) 返回指定索引的 char价值。 |
    int codePointAt(int index) 返回字符(Unicode代码点)在指定的索引。
    int codePointBefore(int index) 返回字符(Unicode代码点)在指定的索引。
    int codePointCount(int beginIndex, int endIndex) 在这 String返回指定的文本范围的Unicode代码点的数量。
    int compareTo(String anotherString) 比较两个字符串的字典。
    int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,忽略大小写的差异。
    String concat(String str) 将指定的字符串,此字符串的末尾。
    boolean contains(CharSequence s) 如果并且只有当此字符串包含指定的字符序列的字符串值,则返回真值。
    boolean contentEquals(CharSequence cs) 比较这个字符串来指定 CharSequence
    boolean contentEquals(StringBuffer sb) 比较这个字符串来指定 StringBuffer
    static String copyValueOf(char[] data) 相当于 valueOf(char[\])
    static String copyValueOf(char[] data, int offset, int count) 相当于 valueOf(char[\], int, int)
    boolean endsWith(String suffix) 测试如果这个字符串以指定的后缀结束。
    boolean equals(Object anObject) 将此字符串与指定的对象比较。
    boolean equalsIgnoreCase(String anotherString) 比较这 String到另一个 String,忽略问题的考虑。
    static String format(Locale l, String format, Object... args) 使用指定的区域设置、格式字符串和参数返回格式化的字符串。
    static String format(String format, Object... args) 使用指定的格式字符串和参数返回格式化的字符串。
    byte[] getBytes()String编码成一个序列使用平台的默认字符集字节,结果存放到一个新的字节数组。
    byte[] getBytes(Charset charset)String编码为一个字节序列使用给定的 charset,结果存放到一个新的字节数组。
    void getBytes(int srcBegin, int srcEnd, byte[] dst, int dstBegin) 过时的。 这种方法不正确地将字符转换为字节。作为 JDK 1.1,这样的首选方式是通过getBytes()方法,它使用平台的默认字符集。
    byte[] getBytes(String charsetName)String编码成一个序列使用指定的字符的字节,并将结果存储到一个新的字节数组。
    void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将此字符串的字符复制到目标字符数组中。
    int hashCode() 返回此字符串的哈希代码。
    int indexOf(int ch) 返回在指定字符的第一个发生的字符串中的索引。
    int indexOf(int ch, int fromIndex) 返回在指定字符的第一个发生的字符串中的索引,在指定的索引处开始搜索。
    int indexOf(String str) 返回指数在这个字符串指定的子字符串中第一个出现的。
    int indexOf(String str, int fromIndex) 返回此字符串的指定子字符串中第一个出现在索引中,从指定索引处开始。
    String intern() 返回字符串对象的规范表示形式。
    boolean isEmpty() 返回 true如果,如果, length()0
    static String join(CharSequence delimiter, CharSequence... elements) 返回一个由 CharSequence elements副本的新字符串连接在一起的一份指定的 delimiter
    static String join(CharSequence delimiter, Iterable<? extends CharSequence> elements) 返回一个由 CharSequence elements String加入新的副本,连同一份指定的 delimiter
    int lastIndexOf(int ch) 返回在指定字符的最后一个发生的字符串内的索引。
    int lastIndexOf(int ch, int fromIndex) 返回在指定字符的最后一个发生的字符串内的索引,在指定的索引处搜索向后开始。
    int lastIndexOf(String str) 返回指数在这个字符串的指定子字符串中最后出现。
    int lastIndexOf(String str, int fromIndex) 返回此字符串的指定子字符串中最后出现在索引,搜索后从指定索引处开始。
    int length() 返回此字符串的长度。
    boolean matches(String regex) 告诉是否这个字符串匹配给定 regular expression
    int offsetByCodePoints(int index, int codePointOffset) 返回指数在这 String是从给定的 codePointOffset代码点 index偏移。
    boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len) 测试如果两个字符串区域是相等的。
    boolean regionMatches(int toffset, String other, int ooffset, int len) 测试如果两个字符串区域是相等的。
    String replace(char oldChar, char newChar) 返回从字符串中替换所有出现在 newChar oldChar结果字符串。
    String replace(CharSequence target, CharSequence replacement) 每个子串替换该字符串指定的文本替换序列靶序列匹配的文字。
    String replaceAll(String regex, String replacement) 每个子串替换该字符串的给予更换,给 regular expression比赛。
    String replaceFirst(String regex, String replacement) 代替这个字符串的替换,给 regular expression匹配第一个字符串。
    String[] split(String regex) 将此字符串在给定的 regular expression比赛。
    String[] split(String regex, int limit) 将此字符串在给定的 regular expression比赛。
    boolean startsWith(String prefix) 测试这个字符串是否以指定的前缀开始。
    boolean startsWith(String prefix, int toffset) 如果此字符串中的指定索引处开始的子字符串从指定的前缀。
    CharSequence subSequence(int beginIndex, int endIndex) 返回一个字符序列的子序列。
    String substring(int beginIndex) 返回一个字符串,这个字符串的子串。
    String substring(int beginIndex, int endIndex) 返回一个字符串,这个字符串的子串。
    char[] toCharArray() 将此字符串转换为一个新的字符数组。
    String toLowerCase() 将所有的角色在这 String以较低的情况下使用默认的区域设置规则。
    String toLowerCase(Locale locale) 将所有的角色在这 String以较低的情况下使用给定的 Locale规则。
    String toString() 这个对象(这已经是一个字符串是自己回来了!)。
    String toUpperCase() 将所有的角色在这 String上使用的默认区域设置规则。
    String toUpperCase(Locale locale) 将所有的角色在这 String大写使用给定的 Locale规则。
    String trim() 返回一个字符串,它的值是字符串,任何前导和尾随空格删除。
    static String valueOf(boolean b) 返回的 boolean参数的字符串表示形式。
    static String valueOf(char c) 返回的 char参数的字符串表示形式。
    static String valueOf(char[] data) 返回的 char数组参数的字符串表示形式。
    static String valueOf(char[] data, int offset, int count) 返回一个特定的子阵的 char数组参数的字符串表示形式。
    static String valueOf(double d) 返回的 double参数的字符串表示形式。
    static String valueOf(float f) 返回的 float参数的字符串表示形式。
    static String valueOf(int i) 返回的 int参数的字符串表示形式。
    static String valueOf(long l) 返回的 long参数的字符串表示形式。
    static String valueOf(Object obj) 返回的 Object参数的字符串表示形式。

3 举例字符串连接

字符串连接有两种方式:
方式一:字符串1.concat(字符串2)
方式二:字符串1.+字符串2
举例

        String str1 = "小腾";
        String str2 = "帅哥";

        String concat1 = str1.concat(str2);

        System.out.println(concat1);//输出小腾帅哥

        String concat2 = "帅哥" + "小腾";

        System.out.println(concat2);//输出帅哥小腾

4 写在末尾

以上的方法可以自行尝试,或者可以关注我,看我的别的文章测试文章。

相关文章
|
6天前
|
负载均衡 NoSQL 算法
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
这篇文章是关于Java面试中Redis相关问题的笔记,包括Redis事务实现、集群方案、主从复制原理、CAP和BASE理论以及负载均衡算法和类型。
一天五道Java面试题----第十天(简述Redis事务实现--------->负载均衡算法、类型)
|
1天前
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
4天前
|
前端开发 Java
成功解决:java.lang.String cannot be cast to java.lang.Integer
这篇文章记录了作者在使用Axios二次封装时遇到的一个Java类型转换问题,即前端传递的字符串参数不能直接转换为Integer类型,文章提供了正确的转换方法来解决这个问题。
成功解决:java.lang.String cannot be cast to java.lang.Integer
|
6天前
|
前端开发 JavaScript Java
【前端学java】详解java中的字符串操作(11)
【8月更文挑战第10天】详解java中的字符串操作
10 3
【前端学java】详解java中的字符串操作(11)
|
1天前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将STRING类型转换为DATETIME类型
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
3天前
|
Java API 开发者
|
6天前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
6天前
|
人工智能 Java 容器
十个Java字符串操作示例程序
十个Java字符串操作示例程序
6 1
|
7天前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
25 1
|
1天前
|
缓存 安全 Java
【揭秘】String vs StringBuilder vs StringBuffer:三大字符串类的秘密较量!你真的知道何时该用哪个吗?
【8月更文挑战第19天】探讨Java中`String`、`StringBuilder`与`StringBuffer`的区别及应用场景。`String`不可变,适合做哈希表键或多线程共享。`StringBuilder`支持动态修改字符串,适用于单线程环境以提高性能。`StringBuffer`与`StringBuilder`功能相似,但线程安全。示例代码展示各类型的基本用法。选择哪种类型取决于具体需求和性能考量。