(常用API和多态)javaSE基础查漏补缺day05

1.什么情况下调用toString ?

1)print输出对象的时候

2)(字符串+对象)的拼接时候

2.推荐调用Objects的equals方法?

它里面优先做了非空验证,防止空指针,比自己重写的方法安全

3.BigInteger(大整数类):

如果整数大小超过long类型,就会转换为字符串。字符串大小可以是堆空间的大小。

4.Integer不能做运算,Biginteger可以做运算。

5.为什么浮点数运算,会精度丢失。

将十进制小数转换为二进制小数的过程导致的。

6.浮点数运算需要用BigDecimal运算:

1)BigDecimal(double val);[不建议使用,这个构造方法还是有精度丢失的]

2)b1.divide(b2);不建议使用,如果除不尽会抛异常。

推荐使用这个做除法bi.divide(b2,scale: 2,RoundingMode.HALF_UP);

7.基本类型除零,不会抛出异常,会得到Infinity(无穷的)。

切记:引用类型除零会抛出异常,所以要捕捉处理。

8.基本数据类型和包装类进行加减运算时,都拆为基本类型进行运算。

9.字符串转Integer或者其他整型类:

new对象的时候,必须要是数字字符。"123123a23"会异常!!!

10.自动装箱和拆箱是语法糖。

11.装箱的时候,后面的符号要注意!

long n4 = 40L;

Float n5 = 50F;

Float n55 = 5.0F;

Double n6 = 60D;

12.自动装箱什么时候用?

在集合存取-包装类-的时候用的。

ArrayList list = new ArrayList<>();

list.add(100);

13.只要有泛型的地方,必须使用包装类。

14.实体类,强烈建议成员属性都定义为包装类型。

有的学生会出现考0分,而有的学生缺考,这样,就没有办法去区分了。
包装类型 Integer 和 基本类型 int 的最大区别就是包装类可以设置为 null。
缺考设置为null,就ok了。

优点:可以存null

缺点:存null容易空指针,所以要么拆箱要不判断

15.整数和char的都有缓存池:

boolean values true and false
all byte values
short values between -128 and 127
int values between -128 and 127
char in the range \u0000 to \u007F

判断值是否在缓存池中,如果在的话就直接返回缓存池的内容,不在就新建一个。

这个缓存池是存在堆里的常量池。

16.字符串和基本类型转换:

1)字符串转为其他基本类型—类名.parseXXX(Strings)
除了Character类型,其他七种包装类都有

2)基本类型转字符串–类名.toString();
Character只有,charAt。

17.多态是不是还解决了强类型的一部分繁琐问题?

多态重点还是可拓展问题。

18.抽象类作为形参:表示可以接收任何此抽象类的"子类对象"作为实参。

抽象类作为返回值:表示"此方法可以返回此抽象类的任何子类对象";

19.什么时候隐式调用对象的toString?

1)字符串+对象

2)System.out.println()

Objcet中toString打印的是:类名@地址的哈希值,

所以必须要重写类的toString 方法。

20.String的split方法截取"."应注意:

“”.split()---->不能直接截取"."

String s = "aa.cc.vv";
 
String[] split = s.split("\\.");

21.Double转为BigDecimal时应注意:

建议:BigDecimal.valueOf(Double double),Double转换为BigDecimal

BigDecimal(double val):【不建议使用】,参数是一个double****值,在转存时仍然会出现精度丢失的问题。

22.快速到文档底部 快捷键:ctrl + end/home。

23.Integer中的 valueOf 和 parseInt的区别:

用valueOf返回的是Integer对象,在缓存池中可能会有—==–相等判断的错误。

parseInt返回的是int类型,效率高

Integer.parseInt(String s) 的效率高于 Integer.valueOf(String s)

24.包装类中—valueOf 和 parseInt的区别:

1)valueOf返回的是包装类对象

2)parseXxx返回的是基本类型,效率高

25.正则表达式是什么东东?

正则表达式是使用一套特殊符号模式做为表达格式的字符串,主要用处是描述和解析文本

26.String 方法中 replace 和 replaceAll 的区别:

String string = replace(“旧字符串”,“新字符串”);

String string = replaceAll(“正则表达式”,“新字符串”);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值