一些常用类的方法和属性
文章目录
前言
提示:现在开始学习各个类的其方法和属性的作用了
一、泛型
1、泛型指的是定义一个没有规定数字或字符的一个格式
2、主要使用得是泛型类,格式如下:
3、泛型的通配符
4、作用
二、Objects类的使用方法
用于操作对象或在操作前检查某些条件。 这些实用程序包括null或null方法,用于计算对象的哈希代码,返回对象的字符串,比较两个对象,以及检查索引或子范围值是否超出范围。用equals比较时可以比较null字符。
注:使用checkIndex时就相当于是左闭右开区间
三、Math类的使用方法
(1)Math.abs(int a)返回数的绝对值
(2)Math.max(int a,int b)比较更大值
(3)Math.min (int a,int b)比较更小值
(4)Math.random()返回0-1随机的一个数,double型。
(5)加减乘除也可以通过这个使用,当超过数的范围的时候会抛出异常
(6)正馅、余弦、正反正弦余弦、正切反正切都能使用
四、Arrays类的使用方法
该类包含用于操作数组的各种方法(例如排序和搜索)。
(1) Arrays.binarySearch([数组名],要查找的数),用来查找该数在该数组中对应的下标
(2) Arrays.compare(char[ ] a,char[ ] b)返回char字典顺序比较的两个char阵列
(3) static boolean equals(char[] a, char[] a2) 如果两个指定的字符数组彼此 相等 ,则返回 true
(4) Arrays.sort([数组]) 用于把这个数组来排序
(5) int [] num = Arrays.copyOf(nums,15); 把nums数组复制到num中,并且长度扩大为15位
(6) Arrays. equals(boolean[] a, boolean[] a2) 来比较两个数组是否相等,相等则返回true
(7) Arrays. hashCode(boolean[] a) 将指定数组的内容返回给哈希表。
(8) Arrays. toString(boolean[] a) 返回指定数组内容的字符串表示形式
五、BigDecimal类的使用方法
就是使其精度不丢失,用double和float运算时其精度会丢失
- 然后创建时要创建新对象来进行运算和接收,其本身是不能够改变的
- 要通过创建新的对象来接收,不可以向数字一样直接进行加减乘除运算
BigDecimal b1 = new BigDecimal(0.5);
BigDecimal b2 = new BigDecimal(0.2);
BigDecimal b3 = b2.divide(b1);
System.out.println(b3);
System.out.println(0.1+0.2);
round(MathContext mc 返回 BigDecimal根据四舍五入 MathContext设置。
六、date类的使用方法
date类的使用方法,"date()"为构造方法,来获取当前时间,用getTime来表示从之前1970到当前的时间值
* 并且可以进行加减运算
* */
/*Date time = new Date();
System.out.println(time);
//计算前一天的时间
long nums = time.getTime();
nums = nums-24*60*60*1000;
//新建一个参数然后把刚刚减去之后的数给传入到Date中
Date time2 = new Date(nums);
System.out.println(time2);*/
用date的构造方法用的是最多的,然后使用getTime来获取到毫秒数,最后进行运算。
七、DateFormat类的使用方法
DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间。按照自己想要的格式去解决它,就相当于把数据给传进来然后对其进行编辑,得到自己想要的结果,不能直接去使用要调用simpleDateFormat
1、简写
G Era designator Text AD
y Year Year 1996; 96
Y Week year Year 2009; 09
M Month in year (context sensitive) Month
July; Jul; 07
L Month in year (standalone form) Month July; Jul; 07
w Week in year Number 27
W Week in month Number 2
D Day in year Number 189
d Day in month Number 10
F Day of week in month Number 2
E Day name in week Text Tuesday; Tue
u Day number of week (1 = Monday, …, 7 =Sunday) Number 1
a Am/pm marker Text PM
H Hour in day (0-23) Number 0
k Hour in day (1-24) Number 24
K Hour in am/pm (0-11) Number 0
h Hour in am/pm (1-12) Number 12
m Minute in hour Number 30
s Second in minute Number 55
S Millisecond Number 978
z Time zone General time zone Pacific Standard Time; PST; GMT-08:00
Z Time zone RFC 822 time zone -0800
2、使用方法
Date timer = new Date();
SimpleDateFormat date = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String time = date.format(timer);
System.out.println(time);
Date time2 = date.parse("2009年11月11日 11时11分11秒");
System.out.println((timer.getTime()-time2.getTime())/24/60/60/1000);
Date.parse要与前面定义的格式完全一致
八、Calender类的使用方法
Calender类引用要用getInstance方法,抽象的类
解决了时间国际化的问题
根据下标来获取和设置时间
获取当前时间时一年的第几天或一年的第几周或每个月的第几天
一般都是要进行计算的时候使用的
1、get()方法:返回给定日历字段的值
2、set()方法:将给定的日历字段设置为给定值
3、calendar类中各种关键字的作用
/*Calendar clock = Calendar.getInstance();
System.out.println(clock.getTime());
clock.set(Calendar.YEAR,2021);//设置的时候直接设置日历里的东西
System.out.println(clock.get(Calendar.YEAR));//打印的时候要从clock获取
System.out.println(clock.get(Calendar.DAY_OF_YEAR));
clock.add(Calendar.YEAR,5);
clock.add(Calendar.MONTH,5);
System.out.println(clock.getTime());*/
该处使用的url网络请求的数据。
九、String类的使用方法
String 为常量池里面的数,属于永久代,不会被gc清除,所以在使用时要注意不要去使用加法去拼接字符串
而应该使用StringBuilder和StringBuffer去叠加字符串
方法
1、StringBuilder
一个可变的字符序列。 此类提供与StringBuffer兼容的API,但不保证同步。 此类设计用作StringBuffer替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)。 在可能的情况下,建议使用此类优先于StringBuffer因为在大多数实现中它会更快。
StringBuilder上的主要操作是append和insert方法,它们被重载以便接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符追加或插入到字符串构建器中。 append方法始终在构建器的末尾添加这些字符; insert方法在指定点添加字符
2、StringBuffer
线程安全,可变的字符序列。 字符串缓冲区类似于String ,但可以进行修改。 在任何时间点它都包含一些特定的字符序列,但序列的长度和内容可以通过某些方法调用来改变。 字符串缓冲区可供多个线程使用。 这些方法在必要时进行同步,以便任何特定实例上的所有操作都表现得好像它们以某个串行顺序出现,这与所涉及的每个单独线程所进行的方法调用的顺序一致。
• StringBuffer上的主要操作是append和insert方法,它们被重载以接受任何类型的数据。 每个都有效地将给定的数据转换为字符串,然后将该字符串的字符追加或插入字符串缓冲区。 append方法总是在缓冲区的末尾添加这些字符; insert方法在指定点添加字符。