byte數組的實際使用長度


今天在編寫java程序時發現了byte數組的一個有趣的現象,那就是當時用new String方式將byte數組轉變為String時,byte數組中未被使用的部分('\0')仍然一同被轉換為了String

1 byte[] bytes=new byte[1024];
2 String s=new String(byte[]);
3 System.out.println(bytes.length());
4 System.out.println(s.length());

此時雖然byte數組內並沒有數據,但是,bytes的長度和字符串s的長度仍然都為1024,那么有沒有什么辦法可以求出byte數組的實際長度呢?當然有:

1.當byte數組的某一位為'\0'時就表示byte數組該位未被使用

1        public int returnActualLength(byte[] data) { 
2         int i = 0; 
3         for (; i < data.length; i++) { 
4             if (data[i] == '\0') 
5                 break; 
6         } 
7         return i; 
8     }

2.將byte數組放在vector中,然后求vector的size

 

-------------------------------------------------(技術的小尾巴)我愛學習,學習使我快樂(劉雪琴)-------------------------------------------


免責聲明!

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



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