Java基础---面向对象(StringBuffer类、Arrays类、Integer类)

本文详细介绍了Java中的String、StringBuffer、StringBuilder类的使用方法,包括它们的区别、构造方法、成员方法以及Arrays类的常用方法。同时,通过实例演示了如何在实际开发中灵活运用这些类来提高代码效率和安全性。
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------

一、StringBuffer类概述及其构造方法

1、StringBuffer类概述

我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,

既耗时,又浪费空间。而StringBuffer就可以解决这个问题

线程安全的可变字符序列

2、StringBuffer和String的区别

String: 它相当于是一个常量,内容不能改变

注意: 字符串的内容不能改变,但是,对应地址可以改变

长度与内容都是固定的

StringBuffer:相当于是一个容器,里面存储的内容可以发生改变

线程安全的类 -- 效率低 -- 安全

长度与内容都可以发生改变

3、构造方法

publicStringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符

publicStringBuffer(int capacity) 构造一个不带字符,但具有指定初始容量的字符串缓冲区。

publicStringBuffer(String str)构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。

该字符串的初始容量为 16 加上字符串参数的长度。

4、StringBuffer类的成员方法

(1)添加功能

例子;

public StringBuffer append(String str)

public StringBuffer insert(int offset,String str)

public static void method_1(){

StringBuffer buffer = new StringBuffer();

//append 追加数据

buffer.append("abcde");

//在缓冲区的第2索引上,插入QQ

buffer.insert(2, "QQ");

System.out.println(buffer);
}

(2)删除功能

public StringBuffer deleteCharAt(int index)

public StringBuffer delete(int start,int end)

例子:

public static StringBuffer reverse(StringBuffer buffer){

//将缓冲区变成字符串

String s = buffer.toString();

//字符串变成字符数组

char[] ch = buffer.toString().toCharArray();

//数组反转,最远端换位置

for(int min = 0 , max = ch.length-1 ; min < max ; min++,max--){

char temp = ch[min];

ch[min] = ch[max];

ch[max] = temp;

}

//数组放进缓冲区

buffer.append(new String(ch));

//删除掉原有缓冲区中的内容

buffer.delete(0, buffer.length());

//buffer = new StringBuffer();

//buffer.append(ch);

return buffer;

}

(3)替换功能

public StringBuffer replace(int start,int end,String str)

(4)反转功能

public StringBuffer reverse()

例子:

public static void method_2(){

StringBuffer buffer = new StringBuffer();

buffer.append("abcdefg");

System.out.println(buffer);

//reverse反转

buffer.reverse();

System.out.println(buffer);

}

(5)截取功能

public String substring(int start)

public String substring(int start,int end)

例子:

public static void method_3(){

StringBuffer buffer = new StringBuffer();

buffer.append("abcdefg");

//获取 0-4索引

String s = buffer.substring(0, 4);

System.out.println(s);

System.out.println(buffer);

}

5、面试题String,StringBuffer,StringBuilder的区别?

(1)String:

字符串类

内容与长度固定

(2)StringBuffer:

字符串缓冲区

线程同步--效率低 -- 安全

内容与长度可以变化


(3)StringBuilder:

字符串缓冲区

线程不同步--效率高 -- 不安全

内容与长度可以变化

(4)StringBuffer和数组的区别

StringBuffer: 不固定

数组: 长度固定

二、Arrays类概述及其常用方法

1、Arrays类概述

针对数组进行操作的工具类。

提供了排序,查找等功能。

2、成员方法

public static String toString(int[] a)

public static void sort(int[] a)

public static int binarySearch(int[] a,int key)

3、方法应用例子



三、基本类型包装类概述

1、将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。

常用的操作之一:用于基本数据类型与字符串之间的转换。

基本类型和包装类的对应

Byte,Short,Integer,Long,Float,Double

Character,Boolean

四、Integer类概述及其构造方法

1、Integer类概述

Integer 类在对象中包装了一个基本类型 int 的值

该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,

还提供了处理 int 类型时非常有用的其他一些常量和方法

2、构造方法

public Integer(int value)构造一个新分配的 Integer 对象,它表示指定的 int 值。

public Integer(String s) 构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。

3、能在 int 类型和 String 类型之间互相转换

String --> int: public static int parseInt(String s)

int --> String: public static String valueOf(int i)返回 int 参数的字符串表示形式。

String --> Xxx类型: publicstatic int parseXxx(Xxx s)

Xxx --> String: public static String valueOf(Xxx i)

4、Integer类成员方法

public int intValue()

public static int parseInt(String s)

public static String toString(int i)

public static Integer valueOf(int i)

public static Integer valueOf(String s)

5、常用的基本进制转换

(1) public static String toBinaryString(int i)

public static String toOctalString(int i)

public static String toHexString(int i)

(2) 十进制到其他进制

public static String toString(int i,int radix)

(3)其他进制到十进制

public static int parseInt(String s,int radix)

6、方法练习




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值