API------String常用方法 系统管理员 2021-11-17 09:18 299阅读 0赞 package com.qf.test; public class StringTest1 { public static void main(String[] args) { //fun1(); //fun2(); //fun3(); //fun4(); //fun5(); //fun6(); fun7(); } /* * 切割和替换 子串 * split----根据正则表达式进行拆分字符串 * replace--替换字符 * subString--取子字符串 */ public static void fun7() { String string="岩松==艳势番==海瑞==嘉靖"; String[] split = string.split("=="); for (String string2 : split) { System.out.println(string2); } String string2="like like like"; System.out.println(string2); String replace = string2.replace('l','n'); System.out.println(replace); String replaceAll = string2.replaceAll("ike", "ove"); System.out.println(replaceAll); String string3="西游记在明朝是禁书"; String substring = string3.substring(4); System.out.println(substring); String substring2 = string3.substring(4, 6);//java--返回的参数 前包后不包 System.out.println(substring2); } /* * 去除空格 比较 * trim() * comtareTo------从首位开始比,如果一样才往后比 */ public static void fun6() { System.out.println("=========去除签到空格和后导空格============"); String urlString=" http://www.baidu.con "; System.out.println(urlString); String trim = urlString.trim(); System.out.println(trim); System.out.println("=========两个字符串比大小的方法========="); String string="abc"; String string2="abd"; System.out.println(string.compareTo(string2));//结果是所有位置比较的和 System.out.println(string2.compareTo(string)); } /* * 转换原则---不管对字符串做什么操作,原字符串不变,变化后生成一个新字符串 * 大小写 * toUpperCase() * toLowerCase() * 字符数组 * 字符数组转字符串使用构造方法 * 字符串转字符数组使用toCharArray(); * 字节数组 * byte[] b=s.getBytes(); * new String(byte[]); * 基本数据类型转换string * String.valueOf(Objcet object); */ public static void fun5() { String string="I Love Girl and You?"; String upperCase = string.toUpperCase(); System.out.println(upperCase); String lowerCase = string.toLowerCase(); System.out.println(lowerCase); String string2="今天很热!"; char[] charArray = string2.toCharArray(); for (char c : charArray) { System.out.println(c); } String string3=new String(charArray); System.out.println(string3); String string4="hello"; byte[] bytes = string4.getBytes(); for (byte b : bytes) { System.out.println(b); } for (byte b : bytes) { System.out.println((char)b);//转为字符串 } } public static void fun4() { String string="马伊琍和文章离婚了?结婚"; System.out.println(string.charAt(4));//charAt(index) 此方法是用来查询指定位置的字符 System.out.println(string.indexOf('婚'));//此方法是找这个字符在字符串中的第一次出现位置 System.out.println(string.indexOf("婚", 8));//8--从什么地方开始 此方法是找指定位置后面这个字符出现的位置 System.out.println(string.indexOf("文章"));//此方法是查找此字符串在原字符串出现的位置 System.out.println(string.lastIndexOf('婚'));//此方法是查找此字符最后一次出现的位置 System.out.println(string.lastIndexOf('婚', 10));//10--指的是从什么地方开始往回找 返回得的从前往后的下标数 } /* * 获取和判断 * 判断 * --判断字符串是否为空 isEmpt() * --判断一个字符串里面是否含有某一个子串 * --判断文件名 判断文件名是否含有什么内容 判断文件类型 */ public static void fun3() { String string="明朝那些事"; System.out.println(string.length());//输出string的长度 System.out.println(string.isEmpty());//判断是否为空 System.out.println(string.contains("明朝"));//模糊查询 System.out.println(string.contains("清朝"));//模糊查询 System.out.println("==============模糊查询=============="); String[] names= {"明天","大明王朝","小明","小青","文字"}; for (String string2 : names) { if (string2.contains("明")) { System.out.println(string2); } } } /* * 字符串的构造 */ public static void fun2() { char[] cs= {'a','1','*','汗'}; String string=new String(cs); System.out.println(string); String string2=new String(cs, 2, 2);//第二个参数指从哪个开始 第三个参数是取几个 System.out.println(string2); } public static void fun1() { /* * 注意:当此方法被重写时,通常有必要重写 hashCode方法, * 以维护hashCode方法的常规协定,该协议声明相等对象必须具有相等的哈希码 * 字符串的存储 * "hello"----字符串是一个常量值 已经定义 无法更改 */ String string="hello";//一个对象 hello 字符串是一个常量值 已经定义 无法更改 String string2=new String("hello");//两个对象 hello new String() System.out.println(string.hashCode());//99162322 System.out.println(string2.hashCode());//99162322 System.out.println(string==string2);//false } } Java 语言提供对字符串串联符号("+")以及将其他对象转换为字符串的特殊支持。字符串串联是通过 `StringBuilder`(或 `StringBuffer`)类及其 `append` 方法实现的。字符串转换是通过 `toString` 方法实现的,该方法由 `Object` 类定义,并可被 Java 中的所有类继承。 字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。 例如:String s1="a"; String s2="a"; 他们指向的是常量池中的同一个地址.
还没有评论,来说两句吧...