码迷,mamicode.com
首页 > 其他好文 > 详细

对部分常用类的细节总结

时间:2019-12-03 23:39:37      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:builder   sim   换算   string   mod   divide   方便   fresh   基本类型   

String

注意!!!

字符串是常量,不可变。在对Sting的类赋值时是先删除在创建。

理解小练习

请问下述代码一共生成了几个对象?

 String a = "a";
 String b = "b";
 String c = "c";
 String d =a + b + c ;

正确答案是五个!

技术图片

技术图片

因为String对象不可改变所以做字符拼接时会创建新的匿名对象。从这里可以发现String类中的字符拼接很占用内存以及时间

为了解决这种状况,Java中新定义两种类StringBufferStringBuilder。这两个类的作用与String类似,但是不同的是这两个类对于字符串的相加做了优化,对于StringBufferStringBuilder来说,每次调用.add()相加,都是放入缓存区,需要调用时在将值从缓存区中取出来。这样后会大大减少拼接的时间以及运行内存。虽然StringBuffer、StringBuilder中的API一样,但是两者也有区别.StringBuffer线程安全、StringBuilder线程安全.

基础类型的封装类

在Java中为了方便,给每个基本数据类型都封装了一个类。

整型 实型 字符型 布尔类型 
byte Byte double Double char Character boolean Boolean
short Short float Float        
int Integer            
long Long            

上述基本类型封装内部的方法都是静态方法,这意味着可以通过:封装名.方法名()的方式调用。

基本类的封装还有一个好处,对于集合来说,集合内部的元素都是对象,这时我们就可以用基本类型封装类来代替基本数据类型。

BigDecimal

作用:BigDecimal对象用来对数字的精确计算。

格式:

 BigDecimal bd = new BigDecimal("0.1");

在赋值时传入的是字符串,这样比直接传入0.1的精确度要高,在计算机内部小数的存储是通过换算近似的,还是会存在误差,而直接存入字符串就不存在转化近似的问题。

BigDecimal中的常用方法

作用方法名作用方法
add() multiply()
subtract() divide()

Math

近似

作用方法名
四舍五入 round()
向上取整 ceil()
向下取整 floor()

三角函数

对于Java中的三角函数需要注意的是三角函数传入的参数不是角度值而是弧度制。

角度值/180*PI = 弧度值

Java中的时间

 Date d = new Date();
 //1. Date导入的包是 java.util.Date
 //2. 对于Date一旦new便获得当前时间的
 //3. d -> 星期 月 日 格林威治时间 GMT+8:00:00 年
 DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 String str = sdf.format(d);
 //转化时间格式为我们想要的样式

 

对部分常用类的细节总结

标签:builder   sim   换算   string   mod   divide   方便   fresh   基本类型   

原文地址:https://www.cnblogs.com/-Archenemy-/p/11979925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!