0
点赞
收藏
分享

微信扫一扫

Android中对MVC,MVP,MVVM架构的理解

Aliven888 2024-05-13 阅读 12

1、包装缓存机制:Byte、Short、Integer、Long默认缓存了-128—127相应类型的缓存数据,而Double和Float没有缓存,Character缓存了0 - 127之间的数据,Boolean直接返回false和true。

加上自动装箱拆箱(valueOf,XXXValue)的机制,在以上范围中,如果进行对象引用的比较,通过==得到true。

如果不是以上的范围,则每次创建对象都是new新的出来,则需要通过equals去进行比较。

2、如果解决浮点数运算精度丢失?

阿里手册中建议BigDecimal:

BigDecimal可以实现对浮点数的运算,不会造成精度丢失

方法:add 、 subtract 、 multiply 、 divide

并且进行两个数比较的时候也是推荐用compareTo(),相同返回0,不同返回1(a>b)或-1,

用equals比较的话 1.0和1.00会返回false。

3、基本数据类型char、short、byte占2个字节,int占4个字节、long、float、double占8个字节

4、重写的注意事项:

重写的返回值类型:如果方法的返回类型是 void 和基本数据类型,则返回值重写时不可修改。但是如果方法的返回值是引用类型,重写时是可以返回该引用类型的子类的。

访问修饰符:可以从父类的private变为子类的public【即可以降低限制】,但不能反过来。

举报

相关推荐

0 条评论