Java String类(一)

String 类

string类是java针对字符串操作的类,常用主要有六大类方法

获取

length():返回此字符串的长度。
charAt(int index) : 返回 char指定索引处的值。
indexOf(String str) :返回指定子字符串第一次出现的字符串内的索引。
lastIndexOf(String str) : 返回指定子字符串最后一次出现的字符串中的索引。

public class StringTest {
    public static void main(String[] args) {
        String str = "jdlajfajlfdajsl";
        System.out.println(str.length());   // 输出字符串长度为 15
        System.out.println(str.charAt(5));  // 输出下标(索引)为5(即第六个)字符 f 
        System.out.println(str.indexOf("a")); // 输出第一次出现 a 的索引 3
        System.out.println(str.lastIndexOf("a"));  // 输出最后一次出现 a 的索引 11
    }
}

后两种方法还有其他的重载方法
indexOf(String str, int fromIndex) :返回指定子串的第一次出现的字符串中的索引,从指定的索引开始向后搜索。
**lastIndexOf(String str, int fromIndex) :**返回指定子字符串的最后一次出现的字符串中的索引,从指定的索引开始到达输入值。
它的搜索区间为 k <= fromIndex,只到搜索到最后一个符合条件的字符串

public class StringTest {
    public static void main(String[] args) {
        String str = "jdlajfajlfdajsl";
        //从第六位 f 开始向后查找第一个为 j 的字符串的索引
        //字符串中索引0,4,7,12都有“j”输入0则返回0,输入闭区间 1 - 4的值都返回4,输入闭区间 5 -7 的值都返回5,输入闭区间 7 - 12 的值都返回12
        System.out.println(str.indexOf("j",5));
        //字符串中索引0,4,7,12都有“j”输入0则返回0,输入闭区间 1 - 4的值都返回0,输入闭区间 5 -7 的值都返回4,输入闭区间 7 - 12 的值都返回7,超过12 小于字符串长度都返回 12
        System.out.println(str.lastIndexOf("j",5));
    }
}

若没有查到指定的字符串返回值都是 -1

判断

contains(CharSequence s):当且仅当此字符串包含指定的char值序列时才返回true。
isEmpty():返回 true,且仅当 length()为 0 。
startsWith(String prefix) :测试此字符串是否以指定的前缀 prefix 开头
endsWith(String suffix) :测试此字符串是否以指定的后缀suffix结尾。
equals(Object anObject) :将此字符串与指定对象进行比较。
equalsIgnoreCase(String anotherString) :将此 String与其他 String比较,忽略掉大小写。

public class StringTest {
    public static void main(String[] args) {
        String str1 = "abcdabcd";
        String str2 = "abcdabcd";
        String str4 = "ABCDABCD";
        String str3 = "" ;
        // 匹配字符串 str1 有 b 这个字符串 返回 true 
        System.out.println(str1.contains("b"));
        // 匹配字符串 str1 没有 f 这个字符串 返回 false
        System.out.println(str1.contains("f"));
        // 匹配字符串 str1 字符串长度不为 0 返回 false
        System.out.println(str1.isEmpty());
        // 匹配字符串 str3 字符串长度为 0  返回 true
        System.out.println(str3.isEmpty());
        // 匹配字符串 str1 它是以 a 字符串开头 返回 true
        System.out.println(str1.startsWith("a"));
        // 匹配字符串 str1 它不是以 a 字符串开头 返回 false
        System.out.println(str1.startsWith("b"));
        // 匹配字符串 str1 它是以 b 字符串结尾 返回 true
        System.out.println(str1.endsWith("d"));
        // 匹配字符串 str1 它不是以 b 字符串开头 返回 false
        System.out.println(str1.endsWith("c"));
        // 用字符串 str1 匹配 字符串 str2 二者相同 返回 true
        System.out.println(str1.equals(str2));
        // 用字符串 str1 匹配 字符串 str3 二者不相同 返回 false
        System.out.println(str1.equals(str3));
        // 用字符串 str1 匹配 字符串 str4 二者大小写不相同 返回 false
        System.out.println(str1.equals(str4));
        // 用字符串 str1 匹配 字符串 str4 二者忽略大小写后相同 返回 true
        System.out.println(str1.equalsIgnoreCase(str4));
    }
}

输出值如下

true
false
false
true
true
false
true
false
true
false
false
true

转换

字符数组 ----> 字符串
**valueOf(char[] data) **:返回 char数组参数的字符串 char形式。
copyValueOf(char[] data) :返回 char数组参数的字符串 char形式。
字符串 ----> 字符数组
toCharArray() :将此字符串转换为新的字符数组。

import static java.lang.String.valueOf;
public class StringTest {
    public static void main(String[] args) {
        String str1 = "hello world";
        String str2;
        int n = str1.length();
        char[] chars= str1.toCharArray();
        for (int i = 0;i < n;i++){
            System.out.println(chars[i]);
        }
        str2 = valueOf(chars);
        System.out.println(str2);
    }
}

输出入下

h
e
l
l
o
 
w
o
r
l
d
hello world

每个字符(包括空格)已经被存入了chars这个字符型的数组中了,执行了valueOf(chars);后又被从重新转换为字符串
toLowerCase():将所有在此字符 String使用默认语言环境的规则,以小写。
toUpperCase():将所有在此字符 String使用默认语言环境的规则大写。
trim():返回一个字符串,其值为此字符串,并删除任何前导和尾随空格。

public class StringTest {
    public static void main(String[] args) {
        String str1 = "hello world";
        String str2 = "    hello";
        String str3 = "HELLO WORLD";
        System.out.println(str1);
        //转换为大写
        System.out.println(str1.toUpperCase());
        //转换为小写
        System.out.println(str3.toLowerCase());
        System.out.println(str2);
        //去掉前导的空格
        System.out.println(str2.trim());
    }
}

输出入下:

hello world
HELLO WORLD
hello world
    hello
hello
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值