0
点赞
收藏
分享

微信扫一扫

java String常用方法以及字符处理

40dba2f2a596 2022-01-24 阅读 77

详情请看

String类

  • 字符串是常量,创建后不可以被改变

  • 字符串面值是储存在字符串池(方法区)中的,目的是可以共享

两种创建方式:

package com;
​
public class Test {
    public static void main(String[] args) {
        // 创建String类对象:方式一
        String str1="nihao";
        str1="aa";// 重新把aa赋值给变量str1,java中重新赋值相当于在字符串池中在创建一个aa,然后改变str1在栈中的指向,nihao依然存在
        String str2="nihao";// 这样创建String类对象,因为在字符串池中指向的对象是相同的,所以栈的地址是相同的
        // 创建String类对象:方式二
        String str3 = new String("java");// 这样创造的,str3对象会从栈指向堆然后指向字符串池(因为堆的不同,所以即使数值相同,栈的地址也会不同)
        String str4 = new String("java");
        System.out.println(str3==str4);// 判断两个对象的地址是否相同,返回布尔值
        System.out.println(str3.equals(str4));// 判断两个对象的内容是否相同,返回布尔值
    }
}

常用方法

length():打印字符串的长度

charAt():打印某一下标的数据

contains():判断该字符串是否在该对象中(返回布尔值)

toCharArray():返回字符串对应的数组

Arrays.toString(str.toCharArray()):将str数组中的元素一一打印出来

indexOf():打印字符串第一出现的下标

indexOf(xx,int):打印字符串xxx从长度int开始之后,出现的下标

lastIndexOf():打印字符串最后一次出现的下标

trim():去除首尾空格

toUpperCase():字母小写转大写toLowerCase()大写转小写 java中没有直接大小写互换

endsWith():判断以什么结尾

startsWith():判断以什么开头

replace():字符串的替换(java没有插入功能,可以用替换来实现插入)

split():以什么符号将字符串进行分割

package com;
​
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Locale;
​
public class Test {
    public static void main(String[] args) {
        String str = "java是不错的编程语言,java,java真不错";
        System.out.println(str.length());// 打印字符串的长度
        System.out.println(str.charAt(str.length()-1));// 打印对象str最后一位的下标(python的索引)
        System.out.println(str.contains("java"));// 判断字符串“java”是否在对象str中
        System.out.println(str.contains("python"));
// ==========================================================================
        System.out.println(str.toCharArray());// 返回字符串对应的数组
        System.out.println(Arrays.toString(str.toCharArray()));// 将数组中的元素一一打印出来
        System.out.println(str.indexOf("java"));// 打印字符串java第一出现的下标
        System.out.println(str.indexOf("java",4));// 打印字符串java从长度4(4是长度不是下标)开始之后,出现的下标
        System.out.println(str.lastIndexOf("java"));// 打印字符串java最后一次出现的下标
// ==========================================================================
        String str1=" hi java  ";
        System.out.println(str1.trim());// 去除首尾空格
        System.out.println(str1.toUpperCase(Locale.ROOT));// 字母小写转大写 toLowerCase()大写转小写 java没有直接大小写互换
        System.out.println(str1.endsWith(" "));// 判断以什么结尾
        System.out.println(str1.startsWith(" "));// 判断以什么开头
// ==========================================================================
        System.out.println(str.replace("java", "python"));// 字符串的替换
        String str2="java python c  vue java,python,c,vue";
        String[] str3=str2.split("[ ,]+");// 以什么符号将字符串进行分割(+和python正则用法一样)
        // 用string,for循环遍历str3,
        for (String string :
                str3) {
            System.out.println(string);
        }
    }
}

补充

substring(a,b):字符串的截取以下标a开始,到下标b结束

image-20220124121857246

举报

相关推荐

0 条评论