【晓风残月】byte,short,int,long——八种基本类型

文章目录

  • 前言
    • 废话不多说,总结下今天的成果以及踩的坑
  • 一、第一个坑【数据丢失】
  • 二、第二个坑【byte集合无法转换byte数组】
  • 三、第三个坑【Byte[]转byte[]】
  • 四、第四个坑【16进制转byte】
  • 总结
    • 快一年没写博客了,貌似都不记得过去的自己了
    • 向前看:前路漫漫亦灿灿
    • 向后看:轻舟已过万重山


前言

周末,朋友约出去玩呢,但是也不能周周出去浪,学了一个月竹笛,也有点心累。本来准备休息一天的,给自己身体充个电。

结果前同事抱着他的硬件来找我研究电路了,哈哈,接着GG了。坐家里坐了一天软件,好端端的一个周末,结果搞了一天软硬件,身心疲惫【还好请我吃饭,不然我非呵呵他一脸】

没办法,贪财好色,喜新厌旧,俗人一个。有点点好处都会赴汤蹈火,哈哈哈

在这里插入图片描述

在这里插入图片描述

废话不多说,总结下今天的成果以及踩的坑

一、第一个坑【数据丢失】

在这里插入图片描述

EMQX给我发的消息,分了两段,以为是丢包了,但是看数据也不像,后来以为是需要黏包,但是个人能力有限,黏包代码写不出来,哈哈哈,还是太菜。问了下硬件客服售后工程师,说让改下超时时间就可以了。【还好没写,不然得哭晕在厕所】【方向不对,再努力也是白费】
在这里插入图片描述

然后果断可以了,真的很6,果然闻道有先后,术业有专攻。

【请教别人,并不是一种很丢人的事,不懂装懂才是】

在这里插入图片描述

二、第二个坑【byte集合无法转换byte数组】

在这里插入图片描述一直以为,数组和集合,都可以随意转换的,结果怎么转都不对,什么Arrays.as,什么Stream,什么方法都用了还是不行,然后问了启蒙师傅
在这里插入图片描述
就给我回复了【toArray】6个字母,其中的道理自己去悟吧。果然大佬都是指点一二。不详细解说,查了之后发现,果然是可以转换的

【师傅领进门,修行靠个人】

废话不多说,上代码

Byte[] toArray = bytes.toArray(new Byte[0]);

三、第三个坑【Byte[]转byte[]】

这个比较简单,循环遍历就可以了,往里面一个一个塞即可

【最笨的方法,往往是最有效的方法】

 Byte[] toArray = bytes.toArray(new Byte[0]);
        byte[] littleByte = new byte[toArray.length];
        for (int i = 0; i < toArray.length; i++) {
            littleByte[i] = toArray[i];
        }

四、第四个坑【16进制转byte】

这个费的时间最久,一直想问师傅,又不敢,一天不能总是问,程序猿要多动脑,就一直扣,一开始提示8C转换类型错误

Byte.parseByte

这个解析里面的数大于127,超出了byte的最大值

解决方法:因此我们需要使用下面的方法,先转成integer,然后byteValue()

byte a = Integer.valueOf("8C", 16).byteValue(); 

总结

一直感觉上学学的那8种基本类型没什么用,当真正用到的时候,真的很难受

现在理解了很多之前不懂的道理:

为什么计算机只认识0和1?
万物都是0和1,8个bit位即可以代表所有数字。00000001这就是计算机1了。00000010,这就是计算机的2

为什么硬件开发都用16进制?
16进制只需要两位,十进制的千位数万位数,都可以用两个字节诠释一切,通讯比较方便

在这里插入图片描述
8种基本数据类型,要常记于心。

或许最基础的才是最需要掌握的

1Byte=8bit

快一年没写博客了,貌似都不记得过去的自己了

向前看:前路漫漫亦灿灿

向后看:轻舟已过万重山

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/43083.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DASCTF 2023 0X401七月暑期挑战赛RE题解

比赛期间没有什么时间&#xff0c;赛后做的题。 TCP 这题最难&#xff0c;耗时最久&#xff0c;好像做出来的人不多。 程序开始有个初始化随机数的过程&#xff0c;数据写入qword_5060开始的48个字节。 这里是主函数&#xff0c;连接到服务器以后&#xff0c;先接收32个字节…

spring-IOC

IOC容器 简介 IoC(Inversion of Control)控制反转&#xff0c;是一种基于面向对象编程法则的设计思想&#xff0c;它设计出的程序具有松耦合、更优良的特点。 IoC容器是Spring框架中重要的核心组件之一&#xff0c;贯穿了Spring从出生到成长的整个过程&#xff0c;Spring通过I…

K8S下如何搭建eureka集群

背景 传统应用上云&#xff0c;基于传统应用需要考虑上云的方案和改造成本&#xff0c;这也是传统应用上云过程中的难点&#xff0c;本篇介绍3台eureka搭建的方案。 方案一 此方案借助了K8S中Service的一些功能。 这种方案是传统方案的简单迁移版本&#xff0c;比较易于理解…

19.主题时钟

主题时钟 html部分 <div class"btn">黑色</div><div class"clock-container"><div class"time">21</div><div class"date">21</div><div class"clock"><div class&qu…

MOS,PCB如何添加散热孔、过孔

一、什么是 PCB 散热孔&#xff1f; 散热孔是利用贯通PCB板的通道&#xff08;过孔&#xff09;使热量传导到背面来散热的手法&#xff0c;配置在发热体的正下方或尽可能靠近发热体。 散热孔是利用PCB板来提高表面贴装部件散热效果的一种方法&#xff0c;在结构上是在PCB板上…

IMU和视觉融合学习笔记

利用纯视觉信息进行位姿估计&#xff0c;对运动物体、光照干扰、场景纹理缺失等情况&#xff0c;定位效果不够鲁棒。当下&#xff0c;视觉与IMU融合(VI-SLAM&#xff09;逐渐成为常见的多传感器融合方式。视觉信息与IMU 数据进行融合&#xff0c;根据融合方式同样可分为基于滤波…

【《机器学习和深度学习:原理、算法、实战(使用Python和TensorFlow)》——以机器学习理论为基础并包含其在工业界的实践的一本书】

机器学习和深度学习已经成为从业人员在人工智能时代必备的技术&#xff0c;被广泛应用于图像识别、自然语言理解、推荐系统、语音识别等多个领域&#xff0c;并取得了丰硕的成果。目前&#xff0c;很多高校的人工智能、软件工程、计算机应用等专业均已开设了机器学习和深度学习…

「网络编程」传输层协议_ TCP协议学习_及原理深入理解(一)[万字详解]

「前言」文章内容大致是传输层协议&#xff0c;TCP协议讲解&#xff0c;续上篇UDP协议。 「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 目录 一、TCP协议介绍二、TCP协议2.1 解包与分用2.2 谈谈可靠性2.3 TCP的工作模式2.4 确认应答(ACK)机制2.5 16位序号与…

绘出「星辰大海」:华为云Astro轻应用新手指南-第二章

第2章 Astro轻应用奇遇——用鼠标「拖拽」的开发 不被编程所困&#xff0c;像玩拼图一样打造订购系统&#xff01; 今天&#xff0c;我们用鼠标拖拽的方式开发订餐应用。 读过本章&#xff0c;你可以同理开发出各异的订购小程序。 继续Astro轻应用旅行吧&#xff01; 第1站…

WebSocket笔记

1. websocket介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手&#xff0c;两者之间就可以创建持久性的连接&#xff0c; 并进行双向数据传输。 HTTP协议和WebSocket协议对比&#xff1a; HTTP是短连接W…

【JavaWeb】Tomcat底层机制和Servlet运行原理

&#x1f384;欢迎来到dandelionl_的csdn博文&#xff0c;本文主要讲解Java web中Tomcat底层机制和Servlet的运行原理的相关知识&#x1f384; &#x1f308;我是dandelionl_&#xff0c;一个正在为秋招和算法竞赛做准备的学生&#x1f308; &#x1f386;喜欢的朋友可以关注一…

iNav开源代码之Filters

iNav开源代码之Filters 1. 源由2. 滤波器应用类型2.1 一般滤波2.1.1 pt1Filter2.1.2 pt2Filter2.1.3 pt3Filter2.1.4 biquadFilter2.2 kalman滤波2.3 动态gyro带通滤波2.3.1 dynamicGyroNotchFilters2.3.2 secondaryDynamicGyroNotchFilters 2.4 rpm滤波 3. 滤波器技术类型3.1 …

C# SolidWorks 二次开发 -从零开始创建一个插件(2)

上一篇我详细讲解了如何创建一个插件&#xff0c;但是无界面无按钮&#xff0c;这种插件适合配合事件偷偷的在后台做点什么事情。今天这篇讲一下如何增加一些按钮到工具栏、菜单上去。 先告诉大家这个东西注册表在哪&#xff0c;因为solidworks在这方面做的不太好&#xff0c;…

prometheus监控mysql8.x以及主从监控告警

mysql8.x主从部署请看下面文档 docker和yum安装的都有 Docker部署mysql8.x版本互为主从_争取不加班&#xff01;的博客-CSDN博客 Mysql8.x版本主从加读写分离&#xff08;一&#xff09; mysql8.x主从_myswl8双主一从读写分离_争取不加班&#xff01;的博客-CSDN博客 安装部署…

uniapp 微信小程序 placeholder字体、颜色自定义

效果图&#xff1a; 1、template <input type"text" placeholder"搜索标题" placeholder-class"placeholder-style"></input>2、style .placeholder-style{color: #2D94FF; }

通过nexus3部署公司内部的私有npm仓库

简介&#xff1a; 登录时使用默认用户admin&#xff0c;密码不知道就需要找默认的&#xff0c;点击Sign in时会提示你路径&#xff0c;这里我是这样查的&#xff0c;在linux服务器上输入以下命令 ​编辑 前言&#xff1a; 准备工作&#xff0c;可能需要一台linux服务器&#x…

讯为RK3568开发板入门之-tftpnfs的配置

基础条件 VMware虚拟机 Ubuntu18.04 【网络配置陈桥接模式】 RK3568开发板【我是用讯为的RK3568】 网线连接路由器或者和电脑直连 配置TFTP和NFS的作用 使用tftp和nfs网络挂载可以很方便的进行软件的调试&#xff0c;挂载成功后只要把Ubuntu下编译好的文件程序放到挂载的目录…

思科路由器交换机密码破解教程

1. 路由器密码的恢复. 2600、3600等新系列路由器步骤&#xff1a; 1、启动路由器&#xff0c;60秒内按下ctrlbreak键2、rommon>confreg 0x21423、rommon>reset4、router#copy startup-config running-config5、router(config)#no enable secrect //可以删除密码也可以更…

一键批量JSON标注转PNG图片工具V1.1,支持labelme快捷矩形、圆以及轮廓标注

上次发布了一个批量将labelme标注的json文件转换为png文件工具&#xff0c;但是当时只是想着自己用的&#xff0c;功能相当简单&#xff0c;一些网友使用之后跟我反馈这玩意真”垃圾“&#xff0c;很多情况都没有进行设想&#xff0c;所以在功能上很欠缺。由于小陶这几天在外地…

如何提升环境、生态、水文、土地、土壤、农业、大气等领域的数据分析能力

专题一、空间数据获取与制图 1.1 软件安装与应用讲解 1.2 空间数据介绍 1.3海量空间数据下载 1.4 ArcGIS软件快速入门 1.5 Geodatabase地理数据库 专题二、ArcGIS专题地图制作 2.1专题地图制作规范 2.2 空间数据的准备与处理 2.3 空间数据可视化&#xff1a;地图符号与…