![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java语言基础
文章平均质量分 83
有关语言的 一些知识
weixin_47236538
这个作者很懒,什么都没留下…
展开
-
List集合中隐藏的坑
List是Java 中常用的集合类之一,几乎所有的代码都离不开List,但是List在使用过程中存在一些隐藏的问题。ArrayList插入失败?Intiger[] array = {1,2,3};List<Integer> list = Arrays.asList(arrays);list.add(4);这段代码看起来没什么问题,将数组转化为集合然后进行添加操作,然而在运行过程中add操作会出现UnsupportedOperationException;asList不是也返回了一转载 2021-12-24 22:20:18 · 166 阅读 · 0 评论 -
Java8新特性 Stream Api学习
有时候,我们在一个集合中需要筛选出符合条件的元素并且再做出其他处理时,Java8的新特性 Stream函数式编程可以帮我们解决问题。案例:1 从员工集合中筛选出salary高于8000的员工,放到新集合中。2 统计员工最高的薪资,平均薪资,薪资之和。3 将员工薪资按照从高到低排序,工资相同按照年龄小的在前。4 按照员工性别分类,按照员工性别和地区分类,将员工按薪资分为是否高于8000的两个部分。传统的迭代方法处理以上问题也可以,但是代码比较冗余。1 Stream概述JDK8是一个非常成转载 2021-12-23 16:09:32 · 98 阅读 · 0 评论 -
Java基础之Object类
Object是所有类的父类,其中的方法有哪些?分别用来做什么?Object类锁包含的所有方法详解registerNatives()方法getClass()hashCode()equals()clone()toString()notify()notifyAll()wait(long)wait(long,int)wait()finalize()一共12个方法registerNatives()顾名思义,这个方法时注册native方法,本地方法,向JVM来注册,当程序调用na.转载 2021-12-20 21:53:22 · 69 阅读 · 0 评论 -
为什么不能用double来定义商品的金额
涉及到float或者double这两种浮点型数据的处理时,偶尔会出现一些奇怪的现象。条件判断和预期不一致System.out.println( 1f == 0.9999999f ); // 打印:falseSystem.out.println( 1f == 0.99999999f ); // 打印:true 纳尼?数据的转换超过预期:float f = 1.1f;double d = (double) f;System.out.println(f); // 打印:1.1Sys转载 2021-12-18 15:30:58 · 561 阅读 · 0 评论 -
计算机中浮点数的表示方法
在《计算机组成原理》中学过浮点数在计算机中的存储方式遵循IEEE 754浮点数计数标准,可以表示为:采用 尾数+阶码 的编码方式,或者说:有效数字 + 指数位数因此,只要给出符号位(S)、阶码部分E、位数部分M这三个维度信息,一个浮点数就完全表示出来了,所以float和double这两种类型的浮点数在计算机中的存储结构如下:符号部分:S0-正 1-负阶码部分E对于float类型,指数部分是8位,考虑正负,因此表示指数范围是-127-128对于double类型,指数部分11位,指数转载 2021-12-18 14:05:51 · 3437 阅读 · 0 评论 -
Java创建对象的方式
在Java中创建对象一般使用的是new来创建对象,还可以通过clone,序列化,反射,Unsfae方法创建对象。1用new来创建对象的过程:Object obj = new Object();2 反射创建对象3 克隆出对象4 反序列化出一个对象5 Unsafe创建对象...转载 2021-12-17 14:25:59 · 138 阅读 · 0 评论