别在逻辑处理字符串了,String类的常用方法都有

2022-11-02 15:28:54 浏览数 (2)

目录

前言

一、String的转换方法

二、String的判断方法

 三、String转换char

总结


前言

在开发过程中像获取字符串长度、字符串截取、字符串转数组这样的方法我们常用会很熟悉,但是有很多实用方法我们并不了解。

如:

  • 判断以某字符结尾的字符串:endsWith
  • 判断以指定字符开始的字符串:startsWith
  • 判断字符串里是否存在指定字符:contains
  • 忽略大小写的判断字符串是否相等:equalsIgnoreCase

了解String提供的基础方法,不需要再重复的去编写逻辑来实现这些已经存在的处理方法


一、String的转换方法

转换的方法有:转大写、小写,去除前后空格、字符串截取、转为数组。

适用方式

方法

返回类型

具体实现

字符串全部转为大写

toUpperCase

String

str.toUpperCase()

字符串全部转为小写

toLowerCase

String

str.toLowerCase()

去除字符串两边的空格

trim

String

str.trim()

字符串以某字符切割转为字符串数组

split

String[]

str.split("")

字符串截断,如果只有一个数值则截值到最后一位

substring

String

str.substring(1)

将一个字符串转换成字节数组

getBytes

byte[]

str.getBytes()

代码实现:

代码语言:javascript复制
    public static void main(String[] args) {
        String str = "anyusheng";
        // String的转换方法
        str = str.toUpperCase(); // 全部转为大写
        System.out.println("字符串全部转为大写:str.toUpperCase() --> " str);
        str = str.toLowerCase(); // 全部转为小写
        System.out.println("字符串全部转为小写:str.toLowerCase() --> " str);
        str = str.trim(); // 去除字符串两边的空格
        System.out.println("去除字符串两边的空格:str.trim() --> " str);
        String strArray[] = str.split(","); // 字符串以某字符切割转为字符串数组
        System.out.println("字符串以某字符切割转为字符串数组:str.split(x) --> " Arrays.toString(strArray));
        str = str.substring(1); // 字符串截断,如果只有一个数值则截值-最后一位
        System.out.println("字符串截断,如果只有一个数值则截值-最后一位:str.substring(x) --> " str);
        byte[] bytes = str.getBytes(); // 将一个字符串转换成字节数组
        System.out.println("将一个字符串转换成字节数组:str.getBytes() --> " Arrays.toString(bytes));
        System.out.println((char)bytes[0]); // byte转为char
    }

二、String的判断方法

判断的方法有:判断字符串以什么字符开头、结尾、判断字符串是否为空、判断字符串是否包含指定字符、判断字符串是否全等(不区分大小写)

适用方式

方法

返回类型

具体实现

判断是否以指定字符串结尾

endsWith

boolean

str.endsWith("ng")

判断是否以指定字符串开始

toLowerCase

boolean

str.startsWith("an")

判断字符串是不是为空,前提条件字符串不能为空

isEmpty

boolean

str.isEmpty()

判断字符串里是不是包含指定字符串

contains

boolean

str.contains("ny")

判断匹配字符串是否相等,不区分大小写

equalsIgnoreCase

boolean

str.equalsIgnoreCase("ANYUSHENG")

代码实现:

代码语言:javascript复制
    public static void main(String[] args) {
        String str = "anyusheng";
        // String的判断方法
        boolean b = false;
        b = str.endsWith("ng"); // 判断是否以指定字符串结尾
        System.out.println("判断是否以指定字符串结尾:str.endsWith(xxx) --> " b);
        b = str.startsWith("an"); // 判断是否以指定字符串开始
        System.out.println("判断是否以指定字符串开始:str.startsWith(xxx) --> " b);
        b = str.isEmpty(); // 判断字符串是不是为空,前提条件字符串不能为空
        System.out.println("判断字符串是不是为空,前提条件字符串不能为空:str.isEmpty() --> " b);
        b = str.contains("ny"); // 判断字符串里是不是包含指定字符串
        System.out.println("判断字符串里是不是包含指定字符串:str.contains() --> " b);
        b = str.equalsIgnoreCase("ANYUSHENG"); // 判断匹配字符串是否相等,不区分大小写
        System.out.println("判断匹配字符串是否相等,不区分大小写:str.equalsIgnoreCase() --> " b);
    }

 三、String转换char

此方法有:字符串转char集合、char转字符串

适用方式

方法

返回类型

具体实现

字符串转char集合

toCharArray

char[]

str.toCharArray()

char集合转字符串

new String(char数组)

String

new String(ch)

String.valueOf(char数组)

String

String.valueOf(ch)

char集合转字符串筛选指定一段字符

new String(char数组,下标,长度)

String

new String(ch,2,3)

String.valueOf(char数组,下标,长度)

String

String.valueOf(ch,2,3)

代码实现:

代码语言:javascript复制
    public static void main(String[] args) {
        String str = "anyusheng";
        // 字符串转char集合
        char[] ch =  str.toCharArray();
        System.out.println("字符串转char集合:str.toCharArray() --> "  Arrays.toString(ch));
        // char集合转字符串
        String chStr = new String(ch);
        System.out.println("char[]转String:new String(ch) --> " chStr);
        chStr = String.valueOf(ch);
        System.out.println("char[]转String:String.valueOf(ch) --> " chStr);
        // char集合转字符串筛选指定一段字符
        chStr = new String(ch,2,3);
        System.out.println("char集合转字符串筛选指定一段字符:new String(ch,2,3) --> " chStr);
        chStr = String.valueOf(ch,2,3);
        System.out.println("char集合转字符串筛选指定一段字符:String.valueOf(ch,2,3) --> " chStr);
    }

总结

单单String的方法肯定不能满足我们日常的各种需求和扩展性,像转换首字母为大写或小写,在这种时候我们可以使用StringUtils等各种实现类,目前对字符串的处理在市面上的工具类基本已经都包含了基础处理,所以我们尽量避免无用的开发字符串处理逻辑,个性化的逻辑另外。

0 人点赞