API------String常用方法
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”; 他们指向的是常量池中的同一个地址.
还没有评论,来说两句吧...