Java程序设计基础------String、StringBuffer、StringBuild的具体使用方法
在每一门编程语言中,字符串都是十分重要的一个元素,所以这篇文章主要讲一下Java中String、StringBuffer、StringBuild的具体使用方法。学习一个类的过程中,我们先要学习他的构造方法,然后学习他其中成员方法,还要记住每个方法的返回值这是什么。
String类
构造方法:
常用的构造方法我认为就是这四个。。。
String中的判断功能:
String中的转换功能:
String的获取功能:
这大概就是常用的方法,大家最好能记住,其他的方法可以不会了可以查阅API,这样在写代码才会更加有效率啊!
具体的实例代码:
package code_string;
public class Str1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
String s1 = "abc";
String s2 = new String("abc");
//字符串的判断功能
System.out.println(s1.isEmpty());
System.out.println(s1.startsWith("a"));
System.out.println(s1.equals(s2));
//字符串的转换功能
System.out.println(s1.toCharArray());
System.out.println(s1.substring(0,2));
System.out.println(s1.valueOf('w'));
System.out.println(s1.toUpperCase());
//字符串的获取功能
System.out.println(s1.length());
System.out.println(s1.charAt(2));
System.out.println(s1.indexOf('a'));
System.out.println(s1.replace("a", "aaa"));
System.out.println(s1.trim());
}
}
StringBuffer和StringBulid类:
这两个类其实是基本一样的,为什么这么说呢?因为他们的用法是一样的的,但是唯一不一样的是StringBuffer是线程安全的,但是效率慢,StringBulid是线程不安全的,但是效率很高。
线程安全,可变的字符序列。 字符串缓冲区就像一个String ,但可以修改。 在任何时间点,它包含一些特定的字符序列,但可以通过某些方法调用来更改序列的长度和内容。
下面以StringBuffer为例来介绍其中的方法:
构造方法:
具体实例:
public class First {
public static void main(String[] args){
StringBuffer sb1 = new StringBuffer();
System.out.println(sb1.length());//字符的实际长度
System.out.println(sb1.capacity());//字符串的容量
StringBuffer sb2 = new StringBuffer("hello");
System.out.println(sb2.length());
System.out.println(sb2.capacity());
StringBuffer sb3 = sb2.append("world");//添加字符串
System.out.println(sb3);
StringBuffer sb4 = sb2.deleteCharAt(2);//删除字符串
System.out.println(sb4);
StringBuffer sb5 = sb2.replace(1,3,"ahahah");
System.out.println(sb5);
String s = sb2.substring(3);//字符串的截取功能。注意不是原先的StringBuffer对象
System.out.println(sb2.reverse());
}
}
运行结果:
StringBuffer中的增删改查功能:
这个函数可以添加任何类型的数据到StringBuffer中!
一定要注意这个方法,这个方法的返回值是String类型的数据,不是StringBuffer的!!!!
返回的字符的实际长度!
返回的是字符串的容量!!!与上一个方法要分清!
String与StringBuffer如何互相转换?
String到StringBuffer:利用构造方法 利用append方法
StringBuffer到String:利用构造方法,利用toString方法,利用subString方法
String与StringBuffer的作为参数的传递问题?
String类型的数据虽然是引用数据类型,但是当作为参数传递的时候,会和基本数据类型的传递一样。
但是对于StringBuffer作为参数传递的时候,就会改变它本身的值
int与String相互转化的问题?
int到String: 利用“+”号操作。利用valueOf()方法。int到integer到String。
String到int:String到Integer再到int,具体方式参考API。
具体实例:
public class int_String_problem {
public static void main(String[] args) {
//int到String的转化问题
//第一种
int i = 10;
String s = new String("aaa");
System.out.println(s+i);
//第二种
System.out.println(s.valueOf(111));
Integer new_i = new Integer(i);
s = new_i.toString();
//第三种
System.out.println(new_i.valueOf(123));
System.out.println(new_i.toString());
}
}
String s1 = new String("111");//必须传个值
Integer i2 = new Integer(221);
System.out.println( i2.valueOf(s1));
-
从版本JDK 5开始,这个类别已经被一个等级类补充了,这个类被设计为使用一个线程
StringBuilder
。StringBuilder
应该使用StringBuilder
类,因为它支持所有相同的操作,但它更快,因为它不执行同步。
这篇博客具体就是讲一些字符串方法,让自己能够记得更加牢固一点!
我们一起努力吧!!