java【String类的常用方法】

您所在的位置:网站首页 java将map打印成字符串 java【String类的常用方法】

java【String类的常用方法】

2023-06-27 13:33| 来源: 网络整理| 查看: 265

String类 String类的常用方法1 字符串的构造方法2 String对象的比较3 字符串查找4 字符串与其他类型的转换4.1 字符串和数值互相转换4.2 大小写转换4.3 字符串转数组4.4 字符串格式化 5 字符串的替换6 字符串的截取操作7 字符串的拆分8 字符串去除空格trim()方法

String类的常用方法 1 字符串的构造方法

字符串仍然是类,字符串对象的产生有如下四种方式:

直接赋值 String类独有:“ ” 字符串常量,每个字符串常量其实都是一个字符串对象 String str="abc"; 通过字符串的构造方法产生字符串对象 String str1=new String("abc"); 字符数组转为字符类对象 任何一门高级语言,字符串的内部其实都是字符数组 char[] data={'a','b','c'}; String str2=new String(data); 调用字符串的静态方法valueOf String str3=String.valueOf("abc"); 2 String对象的比较

(1)==操作符比较的是两个字符串对象是否指向相同的地址 (2)equals方法判断两个字符串对象内容是否相同。 按照Unicode编码将字符逐个比较,当两个字符串的字符数组对应的内容完全相同,equals才返回true(区分大小写的比较)。equalssIngoreCase方法不区分大小写。 (3)compareTo方法进行两个字符串的大小比较 a. 先按照两个字符串对应的字符进行编码比较,若碰到第一个不相等的字符,直接返回编码差值。 b. 若前k个字符完全相等(k是两个字符串中的最小值),返回值为两个字符串的长度差。 c.compareToIngoreCase()不区分大小写。

3 字符串查找

字符串的查找,本质上就是在内部的字符数组上进行遍历查找。

char charAt(int index):返回字符串上指定索引位置的字符,注意索引的合法性[0,n) eg:** 定义一个方法,判断传入的字符是否是由纯数字组成**? 思路:循环遍历+charAt()取出字符判断,如果字符‘0’ char c=str.charAt(i); // if(c'9') // { // return false; // } //JDk,包装类Character判断是否是纯数字 if(!Character.isDigit(c)) { return false; } } return true; } boolean contains(String regex):查找当前字符串中是否包含指定格式的字符串regex contains方法其实就是根据indexOf方法的返回值来实现的。 从前往后找: int indexOf(int ch);返回ch第一次出现的位置,没有返回-1 int indexOf(int ch,int fromIndex);从fromIndex位置开始找ch第一次出现的位置,没有返回-1 int indexOf(String str);返回str第一次出现的位置,没有返回-1 int indexOf(String str,int fromIndex);从fromIndex位置开始找str第一次出现的位置,没有返回-1 从后往前找:int lastIndexOf(); 4 字符串与其他类型的转换 4.1 字符串和数值互相转换

无论什么类型转为字符串对象,统一推荐使用String.valueOf(任意类型),当传入的是自定义类型时,默认会调用toString进行转换,要求我们在自定义类型中覆写toString方法。

//将任意的数值转换字符串,采用字符串的几种构造方式,推荐采用字符串的valueOf方法 //int-->str String str=String.valueOf(1234); //double->str String str1=String.valueOf(12.34); //boolean String str2=String.valueOf(false); //自定义类型转为字符串,调用toString方法(需要覆写) String str3=String.valueOf(new Student("66",1));

将字符串对象转为相应的基本类型:使用各个包装类的parseXXX方法来进行转换,这个转换当字符串中出现非数字时会报错。

int a=Integer.parseInt(str); double b=Double.parseDouble(str1); boolean c=Boolean.parseBoolean(str2); System.out.println(a); System.out.println(b); System.out.println(c);

在这里插入图片描述

只要不是合法的布尔值,统一都会转为false

在这里插入图片描述

4.2 大小写转换

对应英文,不包含中文

public static void lowerOrUpper() { String s1="hello"; String s2="HELLO"; //转大写 System.out.println(s1.toUpperCase()); //转小写 System.out.println(s2.toLowerCase()); } 4.3 字符串转数组

1. 字符串转字符数组:str–>char[ ] 方法:toCharArray()

public static void str2Arr() { String str="hello"; char[] c=str.toCharArray(); for (int i = 0; i String str="hello"; //默认UTF-8 byte[] ch=str.getBytes(); //传入编码规则 byte[] ch=str.getBytes(StandardCharsets.UTF-8); for (int i = 0; i //拿到首字母,将其转为大写之后和其他字符串进行拼接 return str.substring(0,1).toUpperCase()+str.substring(1); } 7 字符串的拆分

String[] spilt(String regex):将字符串全部拆分(按照regex的格式进行拆分) String[] spilt(String regex,int limit):将字符串以指定的格式,拆分为limit组(从头开始拆分到限定组后结束拆分) 举例:拆分一个IP地址,根据IP地址来判断用户的区域

String str="132.168.1.1"; //String[] ret=str.spilt("."); String[] ret=str.spilt("\\."); for(String s:ret) { System.out.println(s+" "); }

结果无输出,因为操作符在Java中属于特殊字符。例如**引用操作符此类的字符都需要进行转义\ **。

8 字符串去除空格trim()方法

默认只能去掉字符串左右空格,中间的空格保留

“ hello world ”=>"hello world"

使用replaceAll()将所有空格去除



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3