int n1 = 404; float f1 = 404.0f; if(n1 == f1) { System.out.println("两者相等"); } System.out.println(n1 == f1 ? n1 : f1); 输出结果: 两者相等404.0 其实,我想输出的是 404,而不是 404.0, 看来在这种情况下,只能使用 if 语句了.…
我在看HashMap源码的时候发现了一个没思考过的问题,在这之前可以说是完全没有思考过这个问题,在一开始对这个点有疑问的时候也没有想到居然有这么个语法细节存在,弄得我百思不得其解,直到自己动手做实验改写了代码才完全明白. HashMap里面保存的数据最底层是一个Entry型的数组,这个Entry则保留了一个键值对,还有一个指向下一个Entry的指针.所以HashMap是一种结合了数组和链表的结构.正因为如此,你有3种对数据的观测方式:keySet,values,entrySet.第一个是体现从k…
在做关于NIO TCP编程小案例时遇到无法监听write的问题,没想到只是我的if语句的位置放错了位置,哎,看了半天没看出来 贴下课堂笔记: 在Java中使用NIO进行网络TCP套接字编程主要以下几个类: ServerSocketChannel: 服务端套接字通道,主要监听接收客户端请求 Selector:通道选择器,主要用于管理服务端通道和所有客户端通道(监听通道中发生的事件),也就说是一个多路通道复用器. SelectorKey: 事件选择键 SocketChannel: 套接字通道(客户端…
前情回顾 自从我上次发了<这道Java基础题真的有坑!我求求你,认真思考后再回答.>这篇文章后.我通过这样的一个行文结构: 解析了小马哥出的这道题,让大家明白了这题的坑在哪里,这题背后隐藏的知识点是什么. 但是我是万万没想到啊,这篇文章居然还有续集.因为有很多读者给我留言,问我为什么?怎么回事?啥情况? 问题片段一:到底循环几次? 有很多读者针对文章的下面的这个片段: 来问了一些问题:为什么会循环三次?循环二次?循环一次? 源码看的脑袋疼.那我觉得我需要"拯救"一下这个哥们…
时间限制:1秒 空间限制:32768K 我叫王大锤,是一家出版社的编辑.我负责校对投稿来的英文稿件,这份工作非常烦人,因为每天都要去修正无数的拼写错误.但是,优秀的人总能在平凡的工作中发现真理.我发现一个发现拼写错误的捷径: 三个同样的字母连在一起,一定是拼写错误,去掉一个的就好啦:比如 helllo -> hello 两对一样的字母(AABB型)连在一起,一定是拼写错误,去掉第二对的一个字母就好啦:比如 helloo -> hello 上面的规则优先“从左到右”匹配,即如果是AABBCC,虽…
在一次笔试中遇到了一个System.err.println()的输出,之前没有见过,回来查一查,自己还是见识太短,来补充一下. 首先看一看jdk中 来一个简单的实验 第一次显示 第二次显示 1. 发现并不是顺序输出的,而且err输出不是抢在out之前,就是紧跟在之后,之间的换行没有作用了,这是为什么呢? 顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两个流,由于缓存原因导致输出顺序不同. 2.System.out.println   能重定向到别的输出流,这样的话你在屏幕上将…
今天想测试java的System的类,没想到居然出错了.在同一个包下的java文件System全错,而其他包中的System没错.上网查了下资料,原来我是重定义了System类,覆盖了原来的System类导致原System类中的属性和方法不能使用. 从图中可以看到我定义的公有类是System,覆盖原来的System类. 解决方法也很简单,重新创建一个不以System为名的java文件即可. ...ok了.…
说明 昨天同事开发的时候遇到了一个奇怪的问题. 使用Guava做缓存,往里面存一个List,为了方便描述,称它为列表A,在另一个地方取出来,再跟列表B中的元素进行差集处理,简单来说,就像是下面这样: public class ArrayListTest { // 方便起见,这里用HashMap来做缓存 private Map<String, List<Long>> cache = new HashMap<>(); private void save(){ List<…
到底是要猫还是要狗 在上篇文章中,我们编撰了一则简短的小故事用于讲解了什么是面向对象的继承特性以及 Go 语言是如何实现这种继承语义的,这一节我们将继续探讨新的场景,希望能顺便讲解面向对象的接口概念. 为了照顾到没有看过上一节文章的读取,这里再简述一下上节文章关于买宠物的故事,如需详细了解,请自行翻阅历史文章进行查看. A: 猫是一种宠物,淘气可爱会卖萌,看家本领抓老鼠,偶尔还会喵喵喵. B: 狗是一种宠物,忠实听话能看家,嗅觉灵敏会破案,一言不合汪汪汪. C: 我想要买一个宠物,文能卖萌,武可…
本文收录在个人博客:www.chengxy-nds.top,共享技术资源,共同进步 前一段有幸参与到一个智能家居项目的开发,由于之前都没有过这方面的开发经验,所以对智能硬件的开发模式和技术栈都颇为好奇. 产品是一款可燃气体报警器,如果家中燃气泄露浓度到达一定阈值,报警器检测到并上传气体浓度值给后台,后台以电话.短信.微信等方式,提醒用户家中可能有气体泄漏. 用户还可能向报警器发一些关闭报警.调整音量的指令等.整体功能还是比较简单的,大致的逻辑如下图所示: 但当我真正的参与其中开发时,其实有一点小…