Byte和byte的区别

背景

今天学习网络编程中,在建立Udp连接时,使用byte[]数组接收传输的数据,但是byte[]错写为Byte[],导致错误。

   //接收数据;
         Byte[] buffer  = new Byte[1024];
         DatagramPacket packet = new DatagramPacket(buffer, 0, buffer.length);
         socket.receive(packet);

第2行没有报错,但是第三行一直报错,导致一时间没发现问题所在,错误提示如下:

 Error:(17, 33) java: 对于DatagramPacket(java.lang.Byte[],int,int), 找不到合适的构造器
     构造器 java.net.DatagramPacket.DatagramPacket(byte[],int,int)不适用
      (参数不匹配; java.lang.Byte[]无法转换为byte[])
     构造器 java.net.DatagramPacket.DatagramPacket(byte[],int,java.net.SocketAddress)不适用
      (参数不匹配; java.lang.Byte[]无法转换为byte[])

这才发现问题所在。因为遇到了所以在这里简述一下byte和Byte的区别。

区别

通过查询Java API 发现,Byte是类,byte是基本数据类型,准确来说Byte是byte的封装类。

 //JAVA API
 public final class Byte
 extends Number
 implements Comparable<Byte>
 The Byte class wraps a value of primitive type byte in an object. An object of type Byte contains a single field whose type is byte.

因此Byte[ ]本身就不存在。而byte[ ]是字符类型的数组,可以用来存放数据。

Byte和byte的区别的更多相关文章

  1. byte与char的区别

     byte 是字节数据类型 ,是有符号型的,占1 个字节:大小范围为-128—127 .char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 ):大小范围 是0—65535 :char ...

  2. short a = 128, byte b = (byte)a 强制类型转换

    package 笔试; public class ShortToByte { /** * @param args */ public static void main(String[] args) { ...

  3. 接口请求,上传byte数组byte[]数据异常,负数变正数/负数变63

    一.背景 最近项目中有个需求,就是需要把一个byte[]数组上传到服务端.但是我发现发送的byte数组和服务端接收的数组不一样,所有的正数在传递时正确,数组长度也没变化,但是负数变成了63或者负数全部 ...

  4. Byte和byte[]数组

    Byte和byte[]数组,“表示一个 8 位无符号整数, 一般为8位二进制数”. Byte是计算机最基础的存储单位和最基础的通讯单位. 而所有的类型都是支持由byte[]类型转换而来. 为什么说By ...

  5. 从byte数组byte[]转换为bitmapsource以及反射实现属性批量赋值

    从byte数组byte[]转换为bitmapsource (BitmapSource)new ImageSourceConverter().ConvertFrom(b) 名字有规律的属性代码用反射优美 ...

  6. byte数组(byte[])与MultipartFile相互转化

    MultipartFile转化为byte数组 byte[] bytes= file.getBytes(); byte数组转化为MultipartFile <dependency> < ...

  7. Bit Byte WORD DWORD的区别和联系

    typedef unsigned short WORD; 16位短整数,可以表示0-65535之间的整数 而char是8位. int和机器类型有关.如16位机,就表示16位.32位机就表示32位 基本 ...

  8. boolean和Boolean, char和Character , byte和Byte, short和Short, int和Integer , long和Long , float和Float, double和Double的区别 , String和StringBuffer的区别

    Java提供两种不同的类型:引用类型和原始类型(内置类型).Int是java的原始数据类型,Integer是java为int提供的封装类. Java为每个原始数据类型提供了封装类. 其中原始数据类型封 ...

  9. Oracle varchar2或char类型的byte和char的区别

    那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并 ...

随机推荐

  1. 【java】学习路线6-静态方法、私有化方法、父类子类

    import java.util.Arrays; /* 我们可以自己创建方法(静态) 私有化方法,阻止他人实例化该方法 静态代码块只执行一次,只在加载这个所在类的时候执行 父类 - 子类 子类继承自父 ...

  2. 简单创建一个SpringCloud2021.0.3项目(二)

    目录 1. 项目说明 1. 版本 2. 用到组件 3. 功能 2. 上一篇教程 3. 创建公共模块Common 4. 网关Gateway 1. 创建Security 2. Security登陆配置 3 ...

  3. 第六篇:vue.js模板语法(,属性,指令,参数)

    Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. 结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上.( ...

  4. 没有二十年功力,写不出Thread.sleep(0)这一行“看似无用”的代码!

    你好呀,我是喜提七天居家隔离的歪歪. 这篇文章要从一个奇怪的注释说起,就是下面这张图: 我们可以不用管具体的代码逻辑,只是单单看这个 for 循环. 在循环里面,专门有个变量 j,来记录当前循环次数. ...

  5. 【读书笔记】C#高级编程 第十九章 程序集

    (一)程序集的含义 程序集是.NET用于部署和配置单元的术语. .NET应用程序包含一个或多个程序集.通常扩展名是EXE或DLL的.NET可执行程序称为程序集. 程序集是自我描述的安装单元,由一个或多 ...

  6. java的URI和URL的关系

    java的URI和URL到底是什么 在我们做开发时,经常有URI和URL弄混的问题,如果当时直接看URI和URL的源码就不可能弄混.首先我总结一下URI和URL的关系:他们的关系是:URL是一种特殊的 ...

  7. 采云端&采云链:从订单协同到采购供应链,让采购供应链互联互通

    采购供应链安全从来没有像现在这样显得如此重要和紧迫,也从来没有像现在这样复杂和敏感,对企业的经营产生决定性的影响.尤其在疫情期间,采购供应链更加牵一发而动全身,成为"运筹帷幄,决胜于千里之外 ...

  8. Coprime

    Coprime 前置芝士 莫比乌斯反演 正文 首先,我们来分析题意. 题目中给出 \(n\) 个人,每个人有一个编号 \(k\) ,要求我们从中选出 \(3\) 个人,三人编号分别为 \(k_a\) ...

  9. Minio纠删码快速入门

    官方文档地址:http://docs.minio.org.cn/docs/master/minio-erasure-code-quickstart-guide Minio使用纠删码erasure co ...

  10. NSIS 去除字串中的汉字

    !include "LogicLib.nsh" XPStyle on !include "WordFunc.nsh" #编写,水晶石 #去除字串中的汉字 #本例 ...