对部分常用类的细节总结
注意!!!
字符串是常量,不可变。在对Sting的类赋值时是先删除在创建。
理解小练习
请问下述代码一共生成了几个对象?
String a = "a"; String b = "b"; String c = "c"; String d =a + b + c ;
正确答案是五个!
因为String对象不可改变所以做字符拼接时会创建新的匿名对象。从这里可以发现String类中的字符拼接很占用内存以及时间。
为了解决这种状况,Java中新定义两种类StringBuffer、StringBuilder。这两个类的作用与String类似,但是不同的是这两个类对于字符串的相加做了优化,对于StringBuffer、StringBuilder来说,每次调用.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); //转化时间格式为我们想要的样式
原文地址:https://www.cnblogs.com/-Archenemy-/p/11979925.html
- ADO.NET入门教程(二)了解.NET数据提供程序
- ADO.NET入门教程(三) 连接字符串,你小觑了吗?
- ADO.NET入门教程(四) 品味Connection对象
- ADO.NET入门教程(五) 细说数据库连接池
- ADO.NET入门教程(六) 谈谈Command对象与数据检索
- ADO.NET入门教程(七) 谈谈Command对象高级应用
- ADO.NET入门教程(八) 深入理解DataAdapter(上)
- 深入理解DIP、IoC、DI以及IoC容器
- C#委托使用详解(Delegates)
- LINC switch系列之安装指南
- 设计模式成长记(一) 抽象工厂模式(Abstract Factory)
- 基于Open vSwitch的VxLAN隧道实验网络
- 来来来,快来围观那个Kotlin
- 怎样提高网站访问速度缩短网页加载时间
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法