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 写在末尾

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

相关文章
|
2天前
|
Java 开发者 Python
Python中,字符串(String)是一种不可变的数据类型
Python中,字符串(String)是一种不可变的数据类型
13 5
|
5天前
|
监控 Java 调度
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
Java面试题:描述Java线程池的概念、用途及常见的线程池类型。介绍一下Java中的线程池有哪些优缺点
18 1
|
5天前
|
Java
Java 替换字符串 replace replaceAll
【7月更文挑战第10天】Java 替换字符串 replace replaceAll
Java 替换字符串 replace  replaceAll
|
3天前
|
安全 Java
Java8 拼接字符串 StringJoiner
Java8 拼接字符串 StringJoiner
|
5天前
|
存储 安全 Java
Java面试题:请解释Java中的字符串和字符串缓冲区?
Java面试题:请解释Java中的字符串和字符串缓冲区?
6 0
|
6天前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
10 0
|
7天前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
14 0
|
10天前
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
10天前
|
存储 Java
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
Redis08命令-Hash类型,也叫散列,其中value是一个无序字典,类似于java的HashMap结构,Hash结构可以将对象中的每个字段独立存储,可以针对每字段做CRUD
|
10天前
|
存储 NoSQL Redis
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX
Redis07命令-String类型字符串,不管是哪种格式,底层都是字节数组形式存储的,最大空间不超过512m,SET添加,MSET批量添加,INCRBY age 2可以,MSET,INCRSETEX