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开始,这个类别已经被一个等级类补充了,这个类被设计为使用一个线程StringBuilderStringBuilder应该使用StringBuilder类,因为它支持所有相同的操作,但它更快,因为它不执行同步。

这篇博客具体就是讲一些字符串方法,让自己能够记得更加牢固一点!

我们一起努力吧!!

猜你喜欢

转载自blog.csdn.net/yanzhiguo98/article/details/88543455