JAVASE(十二) Java常用类: 包装类、String类、StringBuffer类、时间日期API、其他类
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
1、包装类
1 .1 八个包装类

1. 2 基本数据类型,包装类,String者之间的转换

2、String 类
2.1 说明
- 被final修饰该类不能被继承
- 实现了java.io.Serializable : 可以进行序列化。可以将内存中的数据写入磁盘。前端和后台数据的传输也需要进行序列化。不同进程间数据的传输也需要序列化。
- 实现了Comparable接口 : 可以比较内容。
- 实现了CharSequence接口 : 可以获取内容的长度,还可以截取子串
- String底层是一个char[],且该数组被final修饰
- String是一个不可变的字符序列
2.2 内存分析

3、StringBuffer 和 StringBuilder
3.1 String,StringBuffer,StringBuilder者之间的区别?
String : 是一个不可变的字符序列,底层是一个char[]被final所修饰
StringBuffer:是一个可变的字符序列,底层是一个char[],线程安全的,效率低
StringBuilder:是一个可变的字符序列,底层是一个char[],线程不安全的,效率高
3.2 StringBuffer构造器说明
new StringBuffer(); //创建一个长度为16的数组
new StringBuffer(1000); //创建一个长度为1000的数组
new StringBuffer("abcdefg"); //创建一个长度为 :字符串长度 + 16
说明:
当我们创建一个空参的StringBuffer的对象时,底层默认创建一个长度为16的数组。当我们添加第17个元素时,底层会进行扩容,扩容为原来的2倍+2.
3.3常用方法

增 ,删 ,改,查 ,插,长度
4、时间日期API
4.1 Date
java.util.Date
new Date(): 获取当前的时间
new Date(long time):毫秒数对应的那个时间
toString() :输出对应的时间
getTime() :获取时间对应的毫秒数java.sql.Date
new Date(long time) :获取毫秒数对应的日期
toString() : 输出毫秒数对应的日期
getTime() : 获取日期对应的毫秒数
4.2 java.text.SimpleDateFormat:格式化时间
两个方法:
1.将时间转成字符串 format(Date date)
2.将字符串转成时间 parse("18-8-14 下午3:47")
代码:
@Test
public void test2() throws ParseException{
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-'W'ww-u");
String time = sdf.format(new Date());
//2018-W33-2
System.out.println(time);
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String time2 = sdf2.format(new Date());
//2018-08-14T15:54:26.831+0800
System.out.println(time2);
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time3 = sdf3.format(new Date());
//2018-08-14 15:56:12
System.out.println(time3);
//注意:不能将其它格式的时间字符串进行转换
Date parse = sdf3.parse("2018-08-14 15:56:12");
}
4.3日历类(了解)
Calendar instance = Calendar.getInstance();
// System.out.println(instance.getClass().getName());
//当天是当年的第几天
int day = instance.get(Calendar.DAY_OF_YEAR);
//当天是当周的第几天
day = instance.get(Calendar.DAY_OF_WEEK);
//当天是当月的第几天
day = instance.get(Calendar.DAY_OF_MONTH);
//将当天设置成当月的第1天
instance.set(Calendar.DAY_OF_MONTH, 1);
day = instance.get(Calendar.DAY_OF_MONTH);
//在当天是当月的第几天的基础上 加 3 ,可以写负数
instance.add(Calendar.DAY_OF_MONTH, 3);
day = instance.get(Calendar.DAY_OF_MONTH);
//获取日历对应的时间
Date time = instance.getTime();
System.out.println(time.toString());
5、其他类
5.1 Math:用于数学计算

5.2 BigInteger
说明 :Integer类作为int的包装类,能存储的最大整型值为,BigInteger类的数值范围较Integer类、Double类的数值范围要大得多,可以支持任意精度的整数。
BigInteger a = new BigInteger(String.valueOf(Integer.MAX_VALUE));
BigInteger b = new BigInteger(String.valueOf(1));
BigInteger add = a.add(b);
System.out.println(add);
5.3 BigDecimal
说明:一般的Float类和Double类可以用来做科学计算或工程计算,但在商业计算中,要求数字精度比较高,故用到java.math.BigDecimal类。BigDecimal类支持任何精度的定点数
BigDecimal a = new BigDecimal(String.valueOf(1.0));
BigDecimal b = new BigDecimal(String.valueOf(0.41));
BigDecimal subtract = a.subtract(b);
System.out.println(subtract);
JAVASE(十二) Java常用类: 包装类、String类、StringBuffer类、时间日期API、其他类的更多相关文章
- Java8新特性(三)——Optional类、接口方法与新时间日期API
一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...
- Java 8 新的时间日期 API
1. 概述 1.1 简介 Java 8 引入了一套全新的时间日期API,操作起来更简便.简单介绍下,LocalDate和LocalTime和LocalDateTime的使用: java.util.Da ...
- Java常用类:包装类,String,日期类,Math,File,枚举类
Java常用类:包装类,String,日期类,Math,File,枚举类
- 四:Java之字符串操作String、StringBuffer和StringBuilder
string是我们经经常使用到的一个类型,事实上有时候认为敲代码就是在重复的操作字符串,这是C的特点,在java中.jdk非常好的封装了关于字符串的操作.三个类String .StringBuffer ...
- Java 8 的时间日期 API
上一篇文章『Java 的时间日期 API』中,我们学习了由 Date.Calendar,DateFormat 等组成的「传统时间日期 API」,但是传统的处理接口设计并不是很友好,不易使用.终于,Ja ...
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题【转】
Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题 http://blog.didispace.com/Spring-Boot-And-Feign- ...
- 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS
YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...
- Spring Boot和Feign中使用Java 8时间日期API(LocalDate等)的序列化问题
LocalDate.LocalTime.LocalDateTime是Java 8开始提供的时间日期API,主要用来优化Java 8以前对于时间日期的处理操作.然而,我们在使用Spring Boot或使 ...
- java基础(十二)常用类总结(二)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
随机推荐
- leetcode_雇佣 K 名工人的最低成本(优先级队列,堆排序)
题干: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组.在雇佣 一组 K 名工人时,我们必须按照下 ...
- js 调用webservice及nigix解决跨域问题
前言 我们写一些简单的爬虫的时候会遇到跨域问题,难道我们一定要用后台代理去解决吗? 答案是否定的.python之所以适应爬虫,是因为库真的很好用. 好吧python不是今天的主角,今天的主角是js. ...
- js代码中引入其他js文件
/***引入 js 文件 @example: import('js/aui.picker.js') @example: import(['js/aui.picker.js', 'css/aui.pic ...
- 01python基础入门
一.了解python 1.总结一句话:简单易用,相对于java易学,容易上手.如果你不知道学什么语言或者先入门的话,这个是首选, 毕竟小学生也开始学了.对你有用或者是你的爱好就坚定的开始学吧! 2.下 ...
- Linux常用命令详解—基于CentOS7
## Linux 目录- /:根目录,一般只存放目录,不存放文件- /bin -> /usr/bin:可执行二进制文件的目录,也是常用命令目录,如常用的命令 ls.cat.mv 等- /boot ...
- .Net Core3.0 WebApi 项目框架搭建:目录
一.目录 .Net Core3.0 WebApi 项目框架搭建 一:实现简单的Resful Api .Net Core3.0 WebApi 项目框架搭建 二:API 文档神器 Swagger .Net ...
- 蒲公英 · JELLY技术周刊 Vol.07: EcmaScript 2020 -- 所有你想要知道的都在这
「蒲公英」期刊,每周更新,我们专注于挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发.桌面开发.人工智能」等多个大方向的业界热点,并加以专业的解读:不仅如此,我们还精选凹凸技术文章,向大家呈 ...
- centos7 git下载速度慢
nslookup命令 yum -y install bind-utils [root@iZ1i4qd6oynml0Z ~]# nslookup github.global.ssl.fastly.Net ...
- ios审核 "prefs:root="被拒
https://blog.csdn.net/xnickname666/article/details/83068516 使用TZImagePicker https://github.com/banc ...
- Web Scraper——轻量数据爬取利器
日常学习工作中,我们多多少少都会遇到一些数据爬取的需求,比如说写论文时要收集相关课题下的论文列表,运营活动时收集用户评价,竞品分析时收集友商数据. 当我们着手准备收集数据时,面对低效的复制黏贴工作,一 ...