文章目录
- 前言
- char charAt(int index)
- int compareTo(String anotherString)
- boolean contains(CharSequence s)
- boolean endsWith(String suffix)
- boolean equals(Object anObject)
- boolean equalsIgnoreCase(String anotherString)
- byte[] getBytes()
- int indexOf(String str)
- boolean isEmpty()
- int length()
- int lastIndexOf(String str)
- String replace(CharSequence target, CharSequence replacement)
- String[] split(String regex)
- boolean startsWith(String prefix)
- String substring(int beginIndex)
- String substring(int beginIndex, int endIndex)
- char[] toCharArray()
- String toLowerCase()
- String toUpperCase();
- String trim();
- static String valueOf();
前言
String类有很多常用方法
总结一下,便于自己记忆复习。
char charAt(int index)
返回指定索引的char值
public class Test01 {
public static void main(String[] args) {
char c = "我是帅哥".charAt(2);
System.out.println(c); //帅
}
}
int compareTo(String anotherString)
按字典顺序比较两个字符串
两个字符串比较大小不能用<,> 需要使用compareTo()方法
public class Test01 {
public static void main(String[] args) {
int result1 = "abc".compareTo("abc");
System.out.println(result1); //0
int result2 = "abcd".compareTo("abce");
System.out.println(result2); //-1
int result3 = "abce".compareTo("abcd");
System.out.println(result3); //1
// 拿着字符串第一个字母和后面字符串的第一个字母比较。能分胜负就不再比较了。
System.out.println("xyz".compareTo("yxz")); // -1
}
}
boolean contains(CharSequence s)
判断前面的字符串中是否包含后面的子字符串。
public class Test01 {
public static void main(String[] args) {
System.out.println("Hello.java".contains(".java")); //true
System.out.println("http://www.baidu.com".contains("https://")); //false
}
}
boolean endsWith(String suffix)
判断当前字符串是否以某个子字符串结尾
public class Test01 {
public static void main(String[] args) {
System.out.println("Hello World.java".endsWith(".java")); //true
System.out.println("Hello World.java".endsWith(".class")); //false
System.out.println("awifhakihfoaiaa".endsWith("aa")); //true
}
}
boolean equals(Object anObject)
比较两个字符串必须使用equals方法,不能使用“==”
public class Test01 {
public static void main(String[] args) {
System.out.println("abc".equals("abc")); // true
}
}
boolean equalsIgnoreCase(String anotherString)
比较两个字符串是否相等,并且同时忽略大小写
public class Test01 {
public static void main(String[] args) {
System.out.println("Abc".equalsIgnoreCase("abc")); //true
}
}
byte[] getBytes()
将字符串对象转换成字节数组
public class Test01 {
public static void main(String[] args) {
byte[] bytes = "abcdefg".getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.println(bytes[i]); //97 98 99 100 101 102 103
}
}
}
int indexOf(String str)
判断某个子字符串在当前字符串中第一次出现处的索引(下标)
public class Test01 {
public static void main(String[] args) {
System.out.println("to.the.moon".indexOf("moon")); //7
}
}
boolean isEmpty()
判断某个字符串是否为“空字符串”
public class Test01 {
public static void main(String[] args) {
String s = "";
System.out.println(s.isEmpty()); //true
String s2 = "a";
System.out.println(s2.isEmpty()); //false
}
}
int length()
返回此字符串的长度
注意:判断数组长度是length属性,判断字符串长度是length()方法
public class Test01 {
public static void main(String[] args) {
System.out.println("".length()); //0
System.out.println("abcd".length()); //4
}
}
int lastIndexOf(String str)
判断某个子字符串在当前字符串中最后一次出现的索引(下标)
public class Test01 {
public static void main(String[] args) {
System.out.println("oraclejavac++javac#phpjavapython".lastIndexOf("java")); //22
}
}
String replace(CharSequence target, CharSequence replacement)
替换
String的父接口就是:CharSequence
public class Test01 {
public static void main(String[] args) {
String s1 = "http://www.bilibili.com".replace("http://","https://");
System.out.println(s1); //https://www.bilibili.com
//把&替换成*
String s2 = "name=zhangsan&age=14&sex=false".replace("=",":");
System.out.println(s2); //name:zhangsan&age:14&sex:false
}
}
String[] split(String regex)
拆分字符串
public class Test01 {
public static void main(String[] args) {
String[] s1 = "2077-12-21".split("-");
for (int i = 0; i < s1.length; i++) {
System.out.println(s1[i]); //2077
//12
//21
}
}
}
boolean startsWith(String prefix)
判断某个字符串是否以某个子字符串开始
public class Test01 {
public static void main(String[] args) {
System.out.println("http://www.bilibili.com".startsWith("http://")); //true
System.out.println("http://www.bilibili.com".startsWith("https://")); //false
}
}
String substring(int beginIndex)
截取字符串(参数为起始下标)
public class Test01 {
public static void main(String[] args) {//true
System.out.println("http://www.bilibili.com".substring(7)); //www.bilibili.com
}
}
String substring(int beginIndex, int endIndex)
beginIndex 起始位置(包括)
endIndex 结束位置(不包括)
public class Test01 {
public static void main(String[] args) {//true
System.out.println("http://www.bilibili.com".substring(7,10)); //www
}
}
char[] toCharArray()
将字符串转换成char数组
public class Test01 {
public static void main(String[] args) {
char[] chars = "我是帅哥".toCharArray();
for (int i = 0; i < chars.length; i++) {
System.out.println(chars[i]); //我
//是
//帅
//哥
}
}
}
String toLowerCase()
转换为小写
public class Test01 {
public static void main(String[] args) {
System.out.println("ABCDefg".toLowerCase()); //abcdefg
}
}
String toUpperCase();
转换为大写
public class Test01 {
public static void main(String[] args) {
System.out.println("ABCDefg".toUpperCase()); //ABCDEFG
}
}
String trim();
去除字符串前后空白
public class Test01 {
public static void main(String[] args) {
System.out.println(" Hello World ".trim()); //Hello World
}
}
static String valueOf();
作用:将“非字符串”转换成“字符串”
(如果参数是一个对象的话,会自动调用对象的toString方法)
(并且这个方法是静态的)
package com.maoeoo.javase.String;
public class Test01 {
public static void main(String[] args) {
String s1 = String.valueOf(100);
String s2 = String.valueOf(true);
String s3 = String.valueOf(3.14);
System.out.println(s1); //100
System.out.println(s2); //true
System.out.println(s3); //3.14
//如果参数是一个对象的话,会自动调用toString
//翻阅源码可以看到
/*
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
*/
String s4 = String.valueOf(new Animal());
System.out.println(s4); //com.maoeoo.javase.String.Animal@2f4d3709
}
}
class Animal{
}