Java基础-StringBuilder

StringBuilder

StringBuilder API

Modifier and TypeMethod and Description
StringBuilderappend(boolean b)
将 boolean参数的字符串表示附加到序列中。
StringBuilderappend(char c)
将 char参数的字符串表示附加到此序列。
StringBuilderappend(char[] str)
将 char数组参数的字符串表示附加到此序列。
StringBuilderappend(char[] str, int offset, int len)
将 char数组参数的子阵列的字符串表示附加到此序列。
StringBuilderappend(CharSequence s)
追加指定的 CharSequence到这个序列。
StringBuilderappend(CharSequence s, int start, int end)
追加指定的序列 CharSequence到这个序列。
StringBuilderappend(double d)
将 double参数的字符串表示附加到此序列。
StringBuilderappend(float f)
将 float参数的字符串表示附加到此序列。
StringBuilderappend(int i)
将 int参数的字符串表示附加到此序列。
StringBuilderappend(long lng)
将 long参数的字符串表示附加到此序列。
StringBuilderappend(Object obj)
追加 Object参数的字符串表示。
StringBuilderappend(String str)
将指定的字符串附加到此字符序列。
StringBuilderappend(StringBuilder sb)
将指定 StringBuilder这个序列。
StringBuilderappendCodePoint(int codePoint)
将 codePoint参数的字符串表示法附加到此序列。
intcapacity()
返回当前容量。
charcharAt(int index)
返回 char在指定索引在这个序列值。
intcodePointAt(int index)
返回指定索引处的字符(Unicode代码点)。
intcodePointBefore(int index)
返回指定索引之前的字符(Unicode代码点)。
intcodePointCount(int beginIndex, int endIndex)
返回此序列指定文本范围内的Unicode代码点数。
StringBuilderdelete(int start, int end)
删除此序列的子字符串中的字符。
StringBuilderdeleteCharAt(int index)
删除 char在这个序列中的指定位置。
voidensureCapacity(int minimumCapacity)
确保容量至少等于规定的最小值。
voidgetChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
字符从该序列复制到目标字符数组 dst 。
intindexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。
intindexOf(String str, int fromIndex)
返回指定子串的第一次出现的字符串中的索引,从指定的索引开始。
StringBuilderinsert(int offset, boolean b)
在此序列中插入 boolean参数的字符串表示形式。
StringBuilderinsert(int offset, char c)
在此序列中插入 char参数的字符串表示形式。
StringBuilderinsert(int offset, char[] str)
在此序列中插入 char数组参数的字符串表示形式。
StringBuilderinsert(int index, char[] str, int offset, int len)
在此序列中插入 str数组参数的子阵列的字符串表示形式。
StringBuilderinsert(int dstOffset, CharSequence s)
将指定的 CharSequence这个序列。
StringBuilderinsert(int dstOffset, CharSequence s, int start, int end)
将指定的子序列 CharSequence这个序列。
StringBuilderinsert(int offset, double d)
在此序列中插入 double参数的字符串表示形式。
StringBuilderinsert(int offset, float f)
在此序列中插入 float参数的字符串表示形式。
StringBuilderinsert(int offset, int i)
将第二个 int参数的字符串表示插入到此序列中。
StringBuilderinsert(int offset, long l)
在此序列中插入 long参数的字符串表示形式。
StringBuilderinsert(int offset, Object obj)
将 Object参数的字符串表示插入到此字符序列中。
StringBuilderinsert(int offset, String str)
将字符串插入到此字符序列中。
intlastIndexOf(String str)
返回指定子字符串最右边出现的字符串内的索引。
intlastIndexOf(String str, int fromIndex)
返回指定子字符串最后一次出现的字符串中的索引。
intlength()
返回长度(字符数)。
intoffsetByCodePoints(int index, int codePointOffset)
返回此序列中与 index ( codePointOffset代码点偏移的索引。
StringBuilderreplace(int start, int end, String str)
用指定的String中的字符替换此序列的子字符串中的 String 。
StringBuilderreverse()
导致该字符序列被序列的相反代替。
voidsetCharAt(int index, char ch)
指定索引处的字符设置为 ch 。
voidsetLength(int newLength)
设置字符序列的长度。
CharSequencesubSequence(int start, int end)
返回一个新的字符序列,该序列是该序列的子序列。
Stringsubstring(int start)
返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。
Stringsubstring(int start, int end)
返回一个新的 String ,其中包含此序列中当前包含的字符的子序列。
StringtoString()
返回表示此顺序中的数据的字符串。
voidtrimToSize()
尝试减少用于字符序列的存储。

Sample Code

package com.sijing.reflect_demo;

public class StringBuilderDemo {

	/**
	 * 拼接字符串
	 * @Function: append
	 * @Description:
	 *
	 */
	public static void append () {
		StringBuilder sb = new StringBuilder();
		// boolean
		sb.append(true);
		// char
		sb.append('a');
		// char[]
		char[] chars = {'b','c'};
		sb.append(chars);
		// double
		double d = 1.8;
		sb.append(d);
		// float
		float f = 1.9F;
		sb.append(f);
		// int
		int i = 123;
		sb.append(i);
		// long
		long L = 1234L;
		sb.append(L);
		// Object
		Object obj = new Object();
		sb.append(obj);
		// String
		String str = "";
		sb.append(str);
		// StringBuilder
		StringBuilder sbs = new StringBuilder("buffer");
		sb.append(sbs);
		// char[]
		char[] charss = {'1','2','3','4','5','6','7'};
		sb.append(charss, 2, 4);
		// codePoint unicode
		sb.appendCodePoint(84);

		System.out.println(sb);
	}

	/**
	 * 返回当前StringBuilder对象的容量
	 * @Function: capacity
	 * @Description:
	 *
	 */
	public static void capacity() {
		StringBuilder sb = new StringBuilder();
		int capacity = sb.capacity();
		System.out.println(capacity);
	}

	/**
	 * 返回指定索引处的字符
	 * @Function: charAt
	 * @Description:
	 *
	 */
	public static void charAt() {
		StringBuilder sb = new StringBuilder();
		System.out.println(sb.charAt(1));
	}

	/**
	 * 指定索引处插入字符串
	 * @Function: insert
	 * @Description:
	 *
	 */
	public static void insert() {
		StringBuilder sb = new StringBuilder();
		sb.insert(0, true);
		sb.insert(0, 'c');
		char[] chars = {'a','b'};
		sb.insert(0, chars);
		sb.insert(0, 1.8);
		sb.insert(0, 1.9F);
		sb.insert(0, 1);
		sb.insert(0, 1L);
		sb.insert(0, new Object());
		sb.insert(0, new String("abc"));
	}

	/**
	 * 返回指定字符串第一次出现或最后一次出现的位置
	 * @Function: indexOfOrLastIndexOf
	 * @Description:
	 *
	 */
	public static void indexOfOrLastIndexOf() {
		StringBuilder sb = new StringBuilder();
		sb.append("seasa");
		// 0
		System.out.println(sb.indexOf("s"));
		// 3
		System.out.println(sb.indexOf("s",2));
		// 3
		System.out.println(sb.lastIndexOf("s"));
		// 1
		System.out.println(sb.lastIndexOf("e", 2));
	}

	public static void main(String[] args) {
		indexOfOrLastIndexOf();
	}
	
	/**
	 * 删除指定范围字符串
	 * @Function: delete
	 * @Description:
	 *
	 */
	public static void delete() {
		StringBuilder sb = new StringBuilder();
		sb.append("1234567890");
		sb.delete(3, 6);
		sb.deleteCharAt(5);
		// 123780
		System.out.println(sb);
	}

	/**
	 * 尝试减少到所需的最小容量
	 * @Function: trimToSize
	 * @Description:
	 *
	 */
	public static void trimToSize() {
		StringBuilder sb = new StringBuilder();
		sb.trimToSize();
	}

	/**
	 * 设置字符序列的长度
	 * @Function: setLength
	 * @Description:
	 *
	 */
	public static void setLength() {
		StringBuilder sb = new StringBuilder();
		sb.setLength(100);
		// 100
		System.out.println(sb.length());
	}

	/**
	 * 扩容(字符数组的容量)至指定数量(数量:预计的元素总数)
	 * @Function: ensureCapacity
	 * @Description:
	 *
	 */
	public static void ensureCapacity() {
		StringBuilder sb = new StringBuilder();
		sb.ensureCapacity(100);
	}

	/**
	 * 替换字符串
	 * @Function: replace
	 * @Description:
	 *
	 */
	public static void replace() {
		StringBuilder sb = new StringBuilder();
		sb.append("12345");
		// 将某段字符串替换为新的字符串
		sb.replace(3, 4, "asdzxc");
		// 替换指定索引处的字符
		sb.setCharAt(0, 'c');
		// c23asdzxc5
		System.out.println(sb);
	}

	/**
	 * 将StringBuilder内的字符串进行倒序处理
	 * @Function: reverse
	 * @Description:
	 *
	 */
	public static void reverse() {
		StringBuilder sbs = new StringBuilder();
		sbs.append("1234");
		sbs.reverse();
		// 4321
		System.out.println(sbs);
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值