方法二:
public static void printStr1(String str,int number){
//判断字符串是否为空
if(str==null){
return;
}
//判断字节个数是否是非负数
if(number<0){
return;
}
//获取字符串对应的字节数组
byte[] b = str.getBytes();
//创建一个新的字节数组用来放截取之后的字节组数
byte[] newb = Arrays.copyOf(b, number);
//将新数组转化成一个字符串
String st = new String(newb);
//获取这个字符串最后一个字符
char c = st.charAt(st.length()-1);
//获取原字符串对应位置上的字符
char oldc = str.charAt(st.length()-1);
System.out.println(c == oldc ? st : new String(newb, 0, newb.length - 1));
String中的hashCode方法做过了重写,同一个字符串在任何情况下的哈希码都是一样的。
获取指定字符c在字符串中的第一次出现的位置,如果找不到该字符会返回一个-1。
表示从指定的下标i开始向后寻找该字符c出现的位置。
输出字符在字符串中的出现的位置
输入一个字符串和一个字符,输出这个字符出现的所有位置。
public static void all(String str, String sub) {
// 判断str是否为null
if (str == null) {
return;
}
// 记录位置
int index = 0;
while (index < str.length()) {
// 获取指定字符第一次出现的位置
index = str.indexOf(sub, index);
if (index != -1) {
System.out.println(index);
index++;
} else {
return;
}
}
判断字符串长度是否为0.
表示最后一次出现的位置。
从指定下标开始向前寻找最后一次出现的位置。
返回一个新字符串,替换。
Java中的范围包前不包后,包左不包右,包小不包大。
判断是否指定参数作为开头。作为筛选使用。
从指定下标开始截取。
从指定位置开始截取,截取到指定位置的前一位。
将字符串转化为字符数组。
转化为小写。
1.现将字符串化为字符数组。
2.便利数组,判断每一位是否是一个大写字母。
3.如果是一个大写字母,这以为加上32然后在强转回char类型,再赋值给原位置。
4.将字符数组转化为字符串。
转为大写。
返回本身。
去掉字符串前后的空白符。
返回参数的对应字符串形式。
// valueOf是一个静态方法---表示将参数转化为一个字符串
// 如果传入的是一个对象,则会调用这个对象的toString方法
System.out.println(String.valueOf(new Object()));
System.out.println(String.valueOf(new int[] { 2, 5, 1, 7, 0 }));
// 如果传入的是字符数组,则会转化为字符串显示
System.out.println(String.valueOf(new char[] { 'a', 'b', 'c' }));
System.out.println(new char[] { 'a', 'd', 'g' });
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-53988-6.html
就一句话
一切侵略者