Byte和byte的區別


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[ ]是字符類型的數組,可以用來存放數據。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM