您的位置:首页 > 产品设计 > UI/UE

Java学习日志(13-2-StringBuffer/StringBuilder与基本数值类型包装类)

2016-08-18 00:00 381 查看
StringBuffer:字符串缓冲区

1.可以对字符串内容进行修改

2.是一个容器

3.长度可变

4.最终通过toString转成字符串

存储create

StringBuffer append();将指定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,数据);可以将数据插入指定位置(index)

public static void main(String[] args){
StringBuffer sb=new StringBuffer();
sb.append("abc").append(true).append(34);//在末尾添加
sb.insert(1,"kk");//在第1位插入kk
// StringBuffer sb1=sb.append(34);
sop(sb.toString());
// sop(sb1.toString());
}

获取read

char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
int length();
String substring(int start,int end);

删除delete

StirngBuffer delete(start,end);包含start,不包含end
StringBuffer deleteCharAt(index);删除指定位置的字符

public static void method_delete(){
StringBuffer sb=new StringBuffer("abcde");
sb.delete(1,3);//删除1-2位
sb.delete(0,sb.length());//清空缓冲区
sb.deleteCharAt(2);//delete(2,3)删除c
sop(sb.toString());
}

修改update

StringBuffer replace(start,end,string);
void setCharAt(int index,char ch);

public static void method_update(){
StringBuffer sb=new StringBuffer("abcde");
//sb.replace(1,4,"java");
sb.setCharAt(2,'k');
sop(sb.toString());
}

反转

StringBuffer reverse();

将缓冲区中的指定数据存储到指定字符数组中

StringBuffer getChars(int srcBegin,int srcEnd,char[] dst,int dstBegin);//含头不含尾

StringBuffer sb=new StringBuffer("abcdef");
char[] chs=new char[4];
sb.getChars(1,4,chs,1);
for(int x=0;x<chs.length;x++){
sop("chs["+x+"]="+chs[x]+";");
}

StringBuilder:StringBuffer的简易替换,不保证同步

单线程使用StringBuilder效率更佳

基本数据类型对象包装类

byte	Byte
short	short
int		Integer
long	Long
boolean	Boolean
float	Float
double	Double
char	Character

以int为例

class IntegerDemo{
public static void sop(String str){
System.out.println(str);
}
public static void main(String[] args){
//整数类型的最大值
sop("int_Max="+Integer.MAX_VALUE);

}
}

基本数据类型对象包装类最常用与基本数据类型和字符串类型之间转换

基本数据类型转成字符串

基本数据类型.toString(基本数据类型值);//Integer.toString(34)

字符串转成基本数据类型

xxx a=xxx.parsexxx(String)
//int a=Integer.parseInt("123");
//double a=Double.parseDouble("12.3");
//boolean b=Boolean.parseBoolean("true")

进制转换

十进制转换成其它进制
toBinaryString();
toHexString();
toOctalString();
其它进制转成十进制
parseInt(string s,int radix);//radix:进制形式

JDK 5.0以后出现的新特性

class IntegerDemo2{
public static void sop(String str){
System.out.println(str);
}
public static void main(String[] args){
// Integer x=new Integer(4);
Integer x=4;//自动装箱,等同于new Integer(4),可为null
x=x+4;//自动拆箱(x.intValue()),变成int类型,运算后自动装箱赋给x
Int
3ff0
eger m=128;
Integer n=128;
sop("m==n:"+(m==n));
Integer a=127;
Integer b=127;
sop("a==b:"+(a==b));//true a和b指向同一个Integer对象,数值在byte范围内
//对于新特性,数值已经存在,则不会开辟新空间
}
public static void method(){
Integer x=new Integer("123");
Integer y=new Integer(123);
sop("x==y:"+(x==y));				//false
sop("x.equals(y):"+x.equals(y));	//true 比较的是数值
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐