String类
String的创建
String str = “”;
String s1 = new String();
String s1 = new String();
String s1 = new String(String original);
String s1 = new String(char[] a);
String s1 = new String(char[] a, int startIndex, int count);
字符串的注意点
常量与常量拼接结果在常量池,且常量池种不会存在相同内容的常量。
只要有一个变量,接果就在堆中。
如果拼接的结果调用了 intern()方法, 返回值也在常量池中
常量池中的字符串相等, 堆中的未必相等
字符串String的常用方法(参考尚硅谷教学)
String 与 数组转换
String 与 包装类转换
字符串与字节型数组转换
StringBuffer的常用方法
String与StringBuffer与StringBuilder的异同
日期类
获取时间戳
// 1.获取时间戳 1617594683653
long time = System.currentTimeMillis();
Date d1 = new Date();
// 2.时间戳 1617594683653
System.out.println(d1.getTime());
日期类的代码测试
package jzq.com.Date01;
import java.util.Date;
public class Date01 {
public static void main(String[] args) {
// 获取时间戳 1617594683653
long time = System.currentTimeMillis();
System.out.println(time);
// 日期的构造器
// 空参的
Date d1 = new Date();
// 日期格式 Mon Apr 05 11:50:15 CST 2021
System.out.println(d1);
// toString() Mon Apr 05 11:50:53 CST 2021
System.out.println(d1.toString());
// 时间戳 1617594683653
System.out.println(d1.getTime());
// 创建指定时间戳的 Mon Apr 05 11:51:23 CST 2021
Date d2 = new Date(1617594683653L);
System.out.println(d2.toString());
// 创建数据库时间对象 2021-04-05
java.sql.Date d3 = new java.sql.Date(1617594683653L);
System.out.println(d3);
// 如何将 util.Date (Mon Apr 05 11:51:23 CST 2021) 转换为 sql.Date (2021-04-05)
// 通过 util的Date的getTime() 方法 创建sql.Date =>2021-04-05
Date d4 = new Date();
java.sql.Date d5 = new java.sql.Date(d4.getTime());
System.out.println(d5);
}
}
日期的格式化类(SimpleDateFormat)
// 格式化 SimpleDateFormat类
Date dd = new Date();
// 构造时设置日期格式
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
// 格式化格式
String ddd = sdf.format(dd);
System.out.println(ddd);
// 转换成日期
Date date = sdf.parse(“2001-06-14 12:15:01”);
System.out.println(date);
获取当前的时间或日期,以及指定时间或日期(LocalDate 与 LocalTime 与 LocalDateTime)
now 获取当前的日期或者时间或者日期时间: (代码如下)
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
of 获取指定的日期: (代码如下)
LocalDateTime localDateTime2 = LocalDateTime.of(2000,07,05,05,14,22);
通过 getXXX() 获取详细的信息
例如: localDateTime.getYear()
Java 的比较器类(Comparable)
像包装类直接就实现了Comparable接口,并重写了compareTo(obj) 方法,如果自己定义的类需要使用: 自然排序
重写copareTo(obj)的规则
如果当前的对象this大于形参的对象obj, 则返回 正整数
如果当前的对象this小于形参的对象obj, 则返回 负整数
如果当前的对象this等于形参的对象obj, 则返回 零
对于自定义的类,我们可以实现 Comparable接口,重写compareTo(obj)方法实现自然排序
代码示例:
package jzq.com.Comparable01;
import java.util.Arrays;
public class comparable01{
public static void main(String[] args) {
Goods[] arrgoods = new Goods[4];
arrgoods[0] = new Goods(55.2, "海尔");
arrgoods[1] = new Goods(15.2, "双喜");
arrgoods[2] = new Goods(35.2, "空军");
arrgoods[3] = new Goods(45.2, "镭射");
Arrays.sort(arrgoods);
for (int i = 0; i <4 ; i++) {
System.out.println(arrgoods[i].getPrice());
}
}
}
class Goods implements Comparable{
private double price;
private String name;
public Goods() {}
public Goods(double price, String name) {
this.price = price;
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public int compareTo(Object o) {
if (o instanceof Goods) {
Goods goods = (Goods)o;
// 方式一
if(this.price > goods.price) {
return 1;
}else if (this.price < goods.price) {
return -1;
}else {
return 0;
}
}
throw new RuntimeException("出错");
}
}
System、Math、BigInteger、BigDecimal
System
系统类常用方法
Math类常用方法
BigInteger: 可以表示不可变的任意精度的整数。
常用方法如下:
BigDecimal