String类的常用方法+StringBuilder
Posted 做个机灵鬼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了String类的常用方法+StringBuilder相关的知识,希望对你有一定的参考价值。
1.字符串的获取
//String字符串常用的方法
public class Text1 {
public static void main(String[] args) {
//关于字符串的索引,从下标0开始
String str ="JAVA 编程 基础";
//方法一求字符串的长度,这里空格也算一个单位长度
System.out.println(str.length());
//方法二:求字符串中某单个字符
System.out.println(str.charAt(6));
//方法三:求字符串的子串
//这里返回第五位到最后一位的字符
System.out.println(str.substring(5));
//方法四:输出任意某个子串
//注意,这里的7是指输出5-6之间的子串,即7之前的
System.out.println(str.substring(5,7));
}
}
2.查找某个字符或者某个字符子串在字符串中出现的位置
//indexOf和lastIndexof的使用
//查找某个字符或者某个字符子串在字符串中出现的位置
public class Text2 {
public static void main(String[] args) {
//定义一个字符串,采用构造方法
String str = new String("JAVA基础,java基础");
System.out.println("字母A在字符串总第一次出现的位置"+str.indexOf('A'));
//这里"基础"要加入转义符号\\
System.out.println("字符串中\\"基础\\"第一次出现的位置"+str.indexOf("基础"));
System.out.println("字符串中A最后一次出现的位置"+str.lastIndexOf('A'));
System.out.println("字符串中\\"基础\\"最后一次出现的位置"+ str.lastIndexOf("基础"));
}
}
3.字符数组与byte数组之间的转换
//字符串和byte数组之间的转换
public class Text3 {
public static void main(String[] args) {
String str = new String("java 基础学习");
//调用getBytes()
byte[] arrs = str.getBytes();
for(int i=0;i< arrs.length;i++){
System.out.print(arrs[i]+" ");
}
System.out.println();
//byte数组转换成字符数组
String arry1 = new String(arrs);
System.out.println(arry1);
}
}
4.探究在字符串中==与equals的区别
//探究在字符串中==与equals的区别
public class Text4 {
public static void main(String[] args) {
//1.直接定义的方法创建字符串
//2.利用创建对象的方法创建字符串
String str1 = "java基础";
String str2 = "java基础";
String str3 = new String("java基础");
//equals表示的是字符串的内容相同
System.out.println("str1与str2内容相同"+str1.equals(str2));
System.out.println("str1与str3内容相同"+str1.equals(str3));
//str1与str2地址相同,str3与str4地址不相同
System.out.println("str1与str2地址相同"+(str1==str2));
System.out.println("str1与str3地址相同"+(str1==str3));
/*练习题
String str4 = "imooc";
char a[]= {'i','m','o','o','c'};
System.out.println(str4.equals(a));//输出的是false,这里java.lang包下的a表示的是a的地址*/
}
}
5.String的不可改变性
string对象一旦创建了,是不可修改,不可改变的
所谓的修改其实是创建新的对象,所指的内存空间不变
public class Text5 {
public static void main(String[] args) {
//String的不可改变性
//string对象一旦创建了,是不可修改,不可改变的
//所谓的修改其实是创建新的对象,所指的内存空间不变
String str1 = "java基础";
String str2 = "hello"+str1;//这样赋值其实是在常量池里面重新创建了了一个 (hello java)基础对象
System.out.println(str2);
String str3 = new String("hello miooc");
//取出子串时,常量池中生成hello常量,str3并没有改变
System.out.println("子串"+str3.substring(0,5));
System.out.println(str3);
}
}
StingBuilder的一些常用方法
public class Stirngbuilder {
public static void main(String[] args) {
//StirngBuilder字符串具有可改变型
//StringBuilder的常用方法
StringBuilder str = new StringBuilder("你好");
//你好后面加“imooc”
//str = str.append(',');
//str = str.append("imooc");
//System.out.println(str);
System.out.println(str.append(',').append("imooc!"));
//把字符mooc转换成MOOC
//这里有两种方法
//System.out.println(str.delete(4,8).insert(4,"MOOC"));
System.out.println(str.replace(4,8,"MOOC"));
/*练习题
StringBuilder str2 = new StringBuilder("abcdefg");
str2.delete(2,4).insert(3,"CD");
System.out.println(str2);*/
}
}
以上是关于String类的常用方法+StringBuilder的主要内容,如果未能解决你的问题,请参考以下文章