#码神心得_12# java基础类库2

晚上7点才下班,匆匆赶过去那边上课, 路途又遥远,足足到了8点15分左右才到。真的很感谢老师和同学们在等着我们上课。再苦再累,也要坚持下去!
1、StringBuffer类
        同String类一样,用来代表字符串。但StringBuffer在内部实现上与String有所不同。StringBuffer类在处理字符串的过程中并不产生新的对象,因此在内存使用上StringBuffer性能要优于String类。
        初始化:StringBuffer sBuffer = new StringBuffer(String s);
        连接字符串:sBuffer.append(String s);
        删除字符串:sBuffer.delete(int firstIndex,int lastIndex);删除从下标firstIndex开始到lastIndex之间的字符
        插入字符串:sBuffer.insert(int Index,String s),在下标Index上插入字符串s
        翻转字符串:sBuffer.reverse();
        优点:多线程安全,效率比String高
        缺点:效率比StringBuilder低
2、StringBuilder类
        StringBuilder类的方法与StringBuffer类的相似,区别在于StringBuilder在效率上比StringBuffer高,但是StringBuilder在多线程上是不安全的
3、Random类
        Random类实现的随机算法是伪随机的,即有规律的随机。可以通过定义种子数,但相同种子的random对象,相同次数生成的随机数字也是相同的,如:
		Random random = new Random(1);
		Random random1 = new Random(1);
		int a = random.nextInt(100);
		int b = random1.nextInt(100);
		System.out.println(a);
		System.out.println(b);
        运行结果:
85
85
        初始化:Random random = new Random(long seed);  可以通过Random random = new Random(System.currentTimeMillis());来实现真正随机。
        常用方法:nextInt(int n);nextDouble(double n);
4、BigDecimal类

        BigDecimal:解决精度丢失的类, 当使用浮点数进行类如0.05+0.01的时候,得到的结果往往是不精确的。使用BigDecimal类即可以解决问题

        BigDecimal bigDecimal = new BigDecimal("0.05");

        请看下面代码:

		BigDecimal bigDecimal = new BigDecimal("0.05");
		BigDecimal bigDecimal1 = new BigDecimal(0.05);
		System.out.println(bigDecimal);
		System.out.println(bigDecimal1);

运行结果:

0.05
0.05000000000000000277555756156289135105907917022705078125

        由结果可以看出,我们在选择构造函数的时候要看具体需求而定。如果为了精确,应该使用new BigDecimal(String a)的方式,也可以用.BigDecimal.valueOf(int n)的方式;

        同时,BigDecimal也给我们提供了相应的转化为基础类型的方法如:intValue();doubleValue();longValue();floteValue()等。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值