0
点赞
收藏
分享

微信扫一扫

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系


By CaesarChang               

~关注我  带你看更多精品知识

!需要大量记忆

泛型

就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定 义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

定义一个泛型类:(最多使用)

public class ClassName<T>{

private T data;

public T getData() {

return data;

}

public void setData(T data) {

this.data = data;

} }

使用的话   ClassName<(要传入的类型 像String  Integer)>  c=new ClassName();

泛型接口:

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_字符串

泛型方法:

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_数组_02

其中void可以换为 A泛型    方法直接调用不用指定泛型了

泛型限制类型

1. 在使用泛型时, 可以指定泛型的限定区域 , - 例如: 必须是某某类的子类或 某某接口的实现类,格式:

<T extends 类 或 接口1 & 接口2>  一定是extends

 

泛型中的通配符  ?

类型通配符是使用 代替方法具体的类型实参。

1 <? extends Parent>指定了泛型类型的上届

2 <? super child>指定了泛型类型的下届

3<?> 指定了没有限制的泛型类型

作用:

1、 提高代码复用率

2、 泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)

注意:

java中的泛型只在编译阶段有效,不会进入运行时段(已经给定类型)

Java中 Object 与 Objects 的区别与联系


类Object  是每个类的超类。Objects 是 Object 类的子类。Java中的所有类最终都继承于 Object 。

Objects   是工具类,用于封装一些平时使用频率很高或容易出错的操作,这些操作形成了 Objects 的各个方法。

Objects

Objects.equals 

Objects.equals(obj1,obj2)

isNull

boolean isNull(Object obj)

  • int compare(T a, T b, Comparator c)
    如果参数相同,则返回0,否则返回c.compare(a,b)。因此,如果两个参数都为null,则返回0。
  •  System.out.println(Objects.compare(1, 2, new Comparator<Integer>() {
     
                @Override
                public int compare(Integer o1, Integer o2) {
                    return o1 - o2;
                }));

int hash(Object... values)
为所有指定的对象生成哈希码。它可以用于计算对象的哈希码,该哈希码基于多个实例字段

int hashCode(Object o)
返回指定对象的哈希码值。如果参数为null,则返回0

String toString(Object o)

如果参数为null,则toString()方法返回一个“null”字符串

 

T requireNonNull(T obj)
T requireNonNull(T obj, String message)

检查参数是否为null。如果参数为null,它会抛出一个NullPointerException异常。
第二个版本可以指定 当参数为null时抛出的NullPointerException的消息。

Math:

Math.abs(-10)    绝对值

*Math.sqrt(X)//计算平方根

Math.cbrt(X)//计算立方根

Math.pow(a, b)//计算a的b次方

Math.max( , );//计算最大值

*Math.min( , );//计算最小值

Math.ceil(X) 接近此数的大的整数的值

   Math.floor(X) 接近此数的小的整数的值

Math.random() [0,1)


Math.round(X) round 四舍五入,float时返回int值,double时返回long值

Arrays: 

binarySearch

使用前提:

数组一定是排好序的,否则会出错。找到元素,只会返回最后一个位置 
 

Arrays.binarySearch(arr, 20)

填充数组:fill 

int []arr = new int[5];

Arrays.fill(arr, 2);

结果是:2 2 2 2 2 

sort

Arrays.sort(arr);

比较数组元素是否相等:equals        返回值为boolean

Arrays.equals重写了equals,所以,这里能比较元素是否相等。

Arrays.equals(arr1,arr2)

截取数组:copeOf和copeOfRange

int []arr1 = Arrays.copyOf(arr, 3); //前三个元素       也可用于动态扩容

int []arr1 = Arrays.copyOfRange(arr,1,3);//[1,3)

BigDecimal 

double中的0.1其实是0.1000000000000000055511151231257827021181583404541015625,若是需要精确计算的结果,则必须使用BigDecimal类来操作。用来对超过16位有效位的数进行精确的运算

初始化:

  1. BigDecimal(int)
    创建一个具有参数所指定整数值的对象
  2. BigDecimal(double)
    创建一个具有参数所指定双精度值的对象
  3. BigDecimal(long)
    创建一个具有参数所指定长整数值的对象
  4. BigDecimal(String)
    创建一个具有参数所指定以字符串表示的数值的对象
  5. 例如: BigDecimal a =new BigDecimal(0.1);

常用方法:

  1. add(BigDecimal)
    BigDecimal对象中的值相加,返回BigDecimal对象
  2. subtract(BigDecimal)
    BigDecimal对象中的值相减,返回BigDecimal对象
  3. multiply(BigDecimal)
    BigDecimal对象中的值相乘,返回BigDecimal对象
  4. divide(BigDecimal)
    BigDecimal对象中的值相除,返回BigDecimal对象
  5. toString()
    将BigDecimal对象中的值转换成字符串
  6. doubleValue()
    将BigDecimal对象中的值转换成双精度数
  7. floatValue()
    将BigDecimal对象中的值转换成单精度数
  8. longValue()
    将BigDecimal对象中的值转换成长整数
  9. intValue()
    将BigDecimal对象中的值转换成整数
  10. 例如BigDecimal a =new BigDecimal(0.1);  int i = a.intValue();

Date 


DateFormat 

DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成

String str=format(Date 

将Date格式化为日期时间字符串。

Date date=parse(String 

从给定字符串的开头解析文本以生成日期。

 例如:

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_数组_03

 Calendar(日历类):

Calendar不能被new   只可以调用getInstance()方法

 System

1、System.arraycopy(a,b,c,d,e);

起始位置,c是复制到的数组,d是复制到这个数组的起始位置,e是复制的长度

System.currentTimeMillis();

    返回毫秒数,这个就比较简单了,和Date类中的getTime方法一样。

System.gc()

可用于垃圾回收

System.exit(1) 或 System.exit(0)。 

java中程序退出   0代表正常退出   其他异常退出  同时有了它 finally  可以不执行 直接结束

String(绝对重点)

string类是不可以变序列

String不变的性质是因为每次都从String 池里面取,如果有则直接用,否则创建新的放入。

字符串长度char charAt(int index)

返回指定索引处的 char 值。

 

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_字符串_07

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_Math_08

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_字符串_09

Java核心库 最全最详细(完结)Java中 Object 与 Objects 的区别与联系_数组_10

下一张请看 Java中结合干货的点击->集合干货

更新Ing

举报

相关推荐

0 条评论