Java中包装类、日期类、数字类、随机数以及字符串拼接

本文详细介绍了Java中的八种基本数据类型的包装类及其用法,包括日期处理、数字格式化、随机数生成、枚举类型的应用以及字符串高效拼接技巧。

1)八大基本数据类型对应的包装类
1.八种包装数据类型属于引用数据类型,其父类为Object。
2.八种数据类型:
  Byte、Short、Integer、Long、Double 父类为Number
  Boolean、Character 父类为Object

以Integer为例
3.Integer有两个构造方法

Integer i=new Integer(1); //int-->Integer
Integer a=new Integer("23");  //String-->Integer

4.通过访问包类名的常量,可获得最大值和最小值
例如:Integer.MAX_VALUE/MIN_VALUE;

5.Integer中常用的方法(其他几个类型也一样)

static int parseInt(String s)  //传参String,返回int
static Integer valueof(int i)  //int-->Integer
static Integer valueof(String s)  //String-->Integer

6.不过Java5后,可以自动装箱和自动拆箱。当两个包装类作(+ - * /)时,它会自动拆箱。

但他们作相等(==)比较时,不会自动拆箱,会比较两个的内存地址。
在【-128,127】之间所有的对象提前创建好,放到方法区中“整数型常量池”中。
因此当两个包装类都是在【-128,127】之间,且两个数相同时,作相等比较时,则判断为true,反之为flase。


2)日期类
2.1、获取系统当前时间

Date d=new Date();

2.2、日期格式化
Date–>String
yyyy-MM-dd HH:mm:ss SSS(在日期格式中,除了y(年) M(月) d(日) H(时) m(分) s(秒) S(毫秒),这些字符不能随便写之外,剩下的符号格式自己随意组织。

SimpleDateFormat sdf = new SimpleDate("yyyy-MM-dd HH:mm:ss SSS");
String s = sdf.format(new Date());

String–>Date

SimpleDateFormat sdf = new SimpleDate("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse("2008-08-08 08:08:08");

2.3、获取毫秒数(可以计算方法运行时间)

long begin = System.currentTimeMillis();// 获取自1970年1月1日 00:00:00 000到当前系统时间的总毫秒数。

3)数字类
3.1、DecimalFormat数字格式化
数字格式:
# 表任意数字
, 表千分位
. 表小数点
0 表不够时补零
eg:###,###.## 表示加入千分位,保留两个小数。
  ###,###.0000 表示加入千分位,保留4个小数,不够补0
3.2、BigDecimal 属于大数据,精度高,属于引用数据类型
专门用于财务中。计算时要调方法计算

4)随机数
4.1、怎么产生int类型随机数。
  Random r = new Random();
  int i = r.nextInt();  //随机产生一个Int范围内的数
4.2、怎么产生某个范围之内的int类型随机数。
  Random r = new Random();
  int i = r.nextInt(101);   // 产生[0-100]的随机数。

5)枚举
5.1、枚举是一种引用数据类型。
5.2、枚举编译之后也是class文件。
5.3、枚举类型怎么定义?
  enum 枚举类型名{
  枚举值,枚举值2,枚举值3
  }
5.4、当一个方法执行结果超过两种情况,并且是一枚一枚可以列举出来
的时候,建议返回值类型设计为枚举类型。

6)字符串拼接
当进行大量字符串拼接时,可以使用**Java.lang.StringBuffer(线程安全)以及java.lang.StringBuilder(非线程安全)**来进行拼接。
他们底层是一个byte[ ]数组,初始容量为16个字节。(会自动扩容)
需要实例化对象,然后调用append()方法进行拼接;

// 指定初始化容量的StringBuffer对象(字符串缓冲区对象)
//指定初始化容量,有效的减少扩容次数,提高效率
        StringBuffer sb = new StringBuffer(100);
        sb.append("hello");
        sb.append("world");
        sb.append("hello");
        sb.append("kitty");
        System.out.println(sb);//helloworldhellokitty
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值