String学习笔记 - StringBuffer、StringBuilder、Integer
一、StringBuffer和StringBuilder
package String;
/**
* StringBuffer 是字符串缓冲区
*
* 是一个容器。
* 1.而且长度是可变化的。
* 2.可以直接操作多个数据类型
* 3.最终会通过toString方法变成字符串
*
* 1.存储。
* StringBuffer append():将制定数据作为参数添加到数据结尾处。
* StringBuffer inset(indes,数据) :可以将数据插入到指定index位置
* 2.删除。
* StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end
* StringBuffer deleteCharAt(index):删除指定位置的字符。
* 3.获取。
* char charAt(int index);
* int indexOf(String str)
* int lastIndexOf(String str)
* int length()
* String substring(int start,int end);
* 4.修改。
* StringBuffer replace(start,end,String)
* void setCharAt(int index, char ch)
* 5.反转
* StringBuffer reverse()
* 6.将缓冲区中指定数据存储到指定字符数组中
* void getChars(int srcBegin,int srcEnd,char[] dst,int desbegin)
*
* JDK1.5版本之后出现了StringBuilder.
* StringBuffer是线程同步。
* StringBuilder是线程不同步。
*
* 建议使用StringBuilder 使用StringBuffer和StringBuilder的方法一致,只需将StringBuffer改为StringBuilder即为 *StringBuilder的用法
*
* 升级三个因素:
* 提高效率
* 简化书写
* 提高安全性
*
*/
public class StringBufferDemo {
public static void main(String[] args)
{
method_add();
method_del();
method_update();
}
public static void method_update(){
StringBuilder sb = new StringBuilder("abcdef");
char [] chs = new char[6];
/**
* srcBegin start copying at this offset.
srcEnd stop copying at this offset.
dst the array to copy the data into.
dstBegin offset into dst.
*/
sb.getChars(1, 4, chs, 1);
for(int x = 0;x<chs.length;x++)
{
System.out.println("chs["+x+"]="+chs[x]+";");
}
// sb.replace(1, 4, "java");
sb.setCharAt(2, 'k');
System.out.println(sb.toString());
sb.reverse();
System.out.println(sb.toString());
}
public static void method_add()
{
StringBuffer sb = new StringBuffer();
StringBuffer sb1 = sb.append("abc");
sb.insert(1, "qq");
System.out.println(sb == sb1);
System.out.println(sb.toString());
System.out.println(sb1.toString());
}
public static void method_del()
{
StringBuffer sb = new StringBuffer("abcdef");
// sb.delete(1,3);
// sb.delete(0, sb.length());//清空缓冲区
// sb.delete(2, 3);
sb.deleteCharAt(2);
System.out.println(sb.toString());
}
}
二、Integer
package String;
/**
* 基本数据类型对象包装类
*
*基本数据类型 应用数据类型
* byte Byte
* short short
* int Integer
* long Long
* boolean Boolean
* floag Float
* double Double
* char Character
*
* 基本数据类型对象包装类的最常见作用。
* 就是用于基本数据类型和字符串类型之间做转换
*
* 基本数据类型转成字符串。
*
* 基本数据类型+""
*
* 基本数据类型.toString(基本数据类型值)
*
* 如: Integer.toString(34);//将34整数变成"34"
*
* 字符串转成基本数据类型
*
* xxx a = Xxx.parseXxx(String);
*
* int a = Integer.parseInt("123");
*
* long x = Long.parseLong("123");
*
* boolean b = boolean.parseBoolean();
*
* 十进制转成其他进制。
* toBinaryString();
* toHexString();
*
*
*/
public class IntegerDemo {
public static void main(String[] args) {
//整数类型的最大值。
//System.out.println("int max:"+Integer.MAX_VALUE);
// 将一个字符串转成整数
int num = Integer.parseInt("123");//必须传入数字格式的字符串
long x = Long.parseLong("123");
System.out.println("x:"+x);
System.out.println("num="+(num+4));
System.out.println(Integer.toBinaryString(6));
System.out.println(Integer.toBinaryString(-6));
// as an unsigned integer in base 16
System.out.println(Integer.toHexString(60));
int m = Integer.parseInt("3c", 16);
System.out.println(m);
}
}