常用的字符串api方法:
char charAt(int index);//返回指定下标的一个字符。
String valueOf(Object object);//把参数转为字符串类型。用法为String.valueOf(...);
int compareTo(String anotherString);//比较俩个字符串大小,按字母顺序,大于为正、等于为0、否则为负。
int compareToIgnoreCase(String anotherString);//忽略大小写比较俩个字符串。
boolean contains(CharSequnce s);//判断参数字符串是否被包含。String是CharSequnce的实现类。
boolean equals(Object object);//字符串比较是否相等。
boolean equalsIgnoreCase(Object object)//忽略大小写比较是否相等。
void getChars(int indexBegin, int indexEnd, char[] dst, int arrBegin);//字符串indexBegin到indexEnd覆写到从arrBegin下标开始的dst数组中。
int indexOf(String str);//参数字符串在指定字符串中第一次出现的索引,重载从哪个位置开始找。
int lastIndexOf(String str);//参数字符串在指定字符串中最后一次出现的索引。,重载从哪个位置开始找。
boolean matches(String regex);//匹配正则表达式。
String replace(char oldChar, char newChar);//字符串替换,返回替换后的字符串。
String replaceAll(String regex, String replacement);//用replacement替换正则表达式匹配到的字符串。
String[] split(String str);//用str去分割指定的字符串。
String substring(int beginIndex, int endIndex);//获取子串。
char[] toCharArray();//字符串转字符数组。
String trim();//去掉空格;
注意:char数组的默认值‘\u0000’或者‘\0’是不会被打印,也不会被转换成字符串
//实现把下划线去掉且下划线后一位变大写如user_name,输出:userName。
public class Test {
public static void main(String[] args) {
String s="user_name";
char[]ch= s.toCharArray();
for(int i=0;i<ch.length;i++){
if('_'==ch[i]){
ch[i]='\0';
ch[i+1]-=32;
}
}
String end=String.valueOf(ch);
System.out.println(end);
}
}
String和其他类型转换
string 和int之间的转换
string转换成int :Integer.valueOf("12")或者Integer.parseInt("12")
int转换成string : String.valueOf(12)或者直接+
valueOf()这个方法在包装类基本都有实现,也是有重载方法,其他的和这个例子类似。
字符串操作案例
//字符串重复次数最多的字符,输出字符和出现字数,有多个最多都输出。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) {
String s = "qwertyyu";
char[] ch = s.toCharArray();
Map<Character, Integer> map = new HashMap<>();
int max=0;
for (int i = 0; i < ch.length; i++) {
int count = 1;
if (ch[i] != '\0') {
for (int j = i + 1; j < ch.length; j++) {
if (ch[i] == ch[j]) {
count++;//计数
ch[j] = '\0';
}
}
if(max<count){max=count;}
map.put(ch[i], count);
}
}
Iterator<Map.Entry<Character,Integer>>iterator=map.entrySet().iterator();
while (iterator.hasNext()){
if(iterator.next().getValue()!=max){
iterator.remove();
}
}
System.out.println(map);
}
}
网友评论