java单例与StringBuffer类详解
java单例
单实例--设计模式(思想)
核心:在整个程序执行期间 有且只有一个该类的对象存在
如何写:
1.不让外界 来创建对象
2.让这个对象 由我来创建(不能让外界访问)
3.需要对外开放访问这个对象的方法
class Single{
private static Single single = new Single();
private Single(){
}
public static Single getInstance(){
retun single;
}
}
class Singlelan{
private static Single single = null;
private Single(){
}
public static Singlelan getInstance(){
if(singlelan == null){
singlelan = new Singlelan();
}
return singlelan;
}
}
java–StringBuffer类
StringBuffer(字符串缓冲区)
jdk1.5 有StringBuilder(线程不安全 省资源)
特点:
1.StringBuffer 相当于是一个 可变的序列(操作的是原字符)
2.线程安全(耗费资源)
StringBuffer 和 StringBuilder的区别
StringBuffer 线程安全 效率低(耗费系统资源)
stringBuilder 线程不安全 效率高(相对于StringBuffer耗费资源)
StrinBuffer 和 StringBuilder 使用方法一样
String 和 StringBuffer的区别
String 是不可变的 线程不安全的
StringBuffer 是可变的 操作的是对象本身
String 和 StringBuffer 作为方法的参数的区别
字符串作为参数时候 跟基本数据类型作为参数一样 相当于是 值的传递
StringBuffer作为参数的时候 跟引用数据类型一样 相当于是 地址的传递
StringBuffer类中的方法
1.无参创建StringBuffer
public static void fun1(){
StringBuffer sb = new StringBuffer();
sb.capacity();
sb.length();
sb.toString();
sb.append("lanou").append("100");
}
2.插入和修改
public static void fun2(){
StringBuffer sb = new StringBuffer("csdnboke");
sb.insert(3,'x');
sb.setCharAt(6,'k')
char c = sb.charAt(7);
char[] charArray = sb.toString.toCharArray();
}
3.删除
public static void fun3(){
StringBuffer sb = new StringBuffer();
sb.append("csdnboke");
sb.delete(4,100);
sb.reverse()
}
4.替换 截取
public static void fun4(){
StringBuffer sb = new StringBuffer();
sb.append("csdnboke");
sb.replace(0,4,"abcd");
String substring = sb.substring(4);
String substring1 = sb.substring(0,4);
}
int和Integer 之间的转换 与 自动装箱和自动拆箱
1.//创建一个Integer对象
Integer integer = new Integer(10);
Integer integer2 = new Integer("100");
//把int类型转换成Integer类型
Integer num1 = Integer.valueOf(10);
//把Integer类型转换成int类型
int num2 = num1.intValue();
2.//String 和 Integer 之间转换
//字符串转成Integer
Integer num3 = Integer.valueOf("100");
//Integer 转成 字符串
String string3 = num3.toString
3.jdk1.5 自动装箱 和自动拆箱
//这样声明 相当于Integer.valueOf(10) 系统会帮你自动装箱 调用这个方法
Integer num1 = 10;
//系统会帮你把num1 进行 自动拆箱 转换回 int类型
int rel = num1 + 5;