Java中String的常用方法

在Java中String类有一些特殊,Java中规定String是一个类,但是它可以像四类八种声明变量一样声明一个对象。通常在我们刷力扣的题的时候,运用String会更加方便一些,当然了,前提是你要熟悉他里面包含的常用的方法。下面来介绍一下String中有哪些方法。

定位:

如果想找到一个字符串的具体哪个字符或具体字符的位置,可以用charAt(int a)、indexof(char s)方法来实现,具体代码:

 
 public static void main(String[] args) {
        String s = "hello world";
        System.out.println("字符串中的第一个字符" + s.charAt(1));//定位
        System.out.println("字符串中l第一次出现的位置: " + s.indexOf('l'));
        System.out.println("字符串中最后一次出现的位置: " + s.lastIndexOf('l'));
}

替换:

在字符串中替换一个字符时,用replace(String s, String s1),,截取一段字符串的方法是substring(int i),将字符串按照某一字符拆开的方法是split(String s),具体代码实现为:

        String a = "java王";
        //substring()方法的作用是截取
        System.out.println("截取第三个字符到末尾的结果是:" + a.substring(2));
        //split()方法将字符串按照某一字符分裂开
        String[] arrays = new String[5];
        //将字符串拆分成字符串数组
        arrays = a.split("");
        System.out.println(Arrays.toString(arrays));

数组:

将字符串拆分成字符串数组和char数组的方法是:split("")、toCharArray();

        //将字符串拆分成字符串数组
        arrays = a.split("");
        System.out.println(Arrays.toString(arrays));

        char[] array = new char[5];
        //将字符串拆分成字符数组
        array = a.toCharArray();
        System.out.println(Arrays.toString(array));

==和equals的区别:

在Java中==号用来判断运算符两边变量的地址是否相同,如果相同为true,反之为false这里牵扯到了一个常量池的问题,在Java的内存中有一片区域为常量池。常量池中保存着127~-128剩下的常量定义一个就会在常量池中创建一个。所以常量池中如果string声明变量像基础数据类型那样,从栈指向常量池的话,两个值应该是相等的,如果用new在堆中开辟了一片空间的话,那么此时他就不是相等的了,因为地址不一样。所以用equals()可以比较两个地址中的值是否一致。

//字符串的判断
        String test = "Java王";
        String test1 = new String("Java王");
        String test3 = "Java王";
        System.out.println(test == test1);
        System.out.println(test3 == test);
        System.out.println(test.equals(test1));

结果为:

false
true
true

字符串转换为整数:

Integer.parseInt()方法可以实现

//字符串转化为整数
        test = "12314564";
        int i = Integer.parseInt(test);
        System.out.println(i);

字符串反转:

在StringBuffer中用reverse()可以反转字符串。

//字符串反转方法
        StringBuffer test4 = new StringBuffer("java王");
        System.out.println(test4);
        System.out.println(test4.reverse());

结果为:

java王
王avaj

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值