【读码JDK】-java.lang.Byte类的API

简介: java.lang.Byte类的API介绍及测试

在这里插入图片描述
【读码JDK】java.lang包目录

【读码JDK】-java.lang.Byte类Api介绍及测试

toString

返回表示指定byte的新String对象,转换为10进制

byte b = 0x6E;
System.out.println(Byte.toString(b));
    
/**
 * 输出:
 * 110
 */

valueOf

返回表示指定的byte值的Byte实例。
如果不需要新的Byte实例,优先使用此方法,而不是构造函数Byte(byte) , 此方法有更好的空间和时间性能,因为所有字节值都被缓存。

byte b = 1;
Byte B = Byte.valueOf(b);
Byte C = Byte.valueOf(b);
System.out.println("B==C:" + (B == C));
/**
 * 输出
 * B==C:true
 */

第二个参数表示第一个参数所表示的进制
就像该参数被赋予parseByte(java.lang.String, int)方法一样。
结果是Byte对象,表示字符串指定的byte值,该值从缓存中读取,输出10进制。

String s1 = "123";
Byte B1 = Byte.valueOf(s1, 10);
Byte B2 = Byte.valueOf(s1, 8);
assert B1 == 123; //true
assert B2 == 83; //true

parseByte

将字符串参数解析为第二个参数指定基数的带符号byte 。

字符串中的字符必须是数字指定基数的,(如通过确定是否Character.digit(char, int) 返回一个非负的值)不同之处在于第一个字符可以是ASCII减号'-' ( '-' ),以指示一个负值或ASCII加号'+' ( '+' )表示正值。 返回结果byte值。

如果发生以下任何一种情况,则抛出类型NumberFormatException的异常:

1、第一个参数是null或者是长度为零的字符串。
2、基数小于Character.MIN_RADIX或大于Character.MAX_RADIX 。
3、字符串的任何字符不是指定基数的数字,所不同的是第一个字符可以是负号'-' ( '-' )或加号'+' ( '+' ),前提是所述字符串比长度1更长。
4、字符串表示的值不是byte类型的值。

参数
s -所述 String含有 byte表示被解析
radix - 解析 s使用的基数 结果 byte由指定基数中的字符串参数表示的值

异常
NumberFormatException - 如果字符串不包含可解析的 byte 。

 String s1 = "123";
System.out.println(Byte.parseByte(s1, 10));
 //代表s1 为8进制,输出10进制
 System.out.println(Byte.parseByte(s1, 8));

 String s2 = "-1a";
 System.out.println(Byte.parseByte(s2, 16));

 //将字符串参数解析为带符号的十进制byte
 System.out.println(Byte.parseByte(s1));

 /**
  * 输出:
  * 123
  * 83
  * -26
  * 123
  */

### decode
将String解码为Byte

//10进制
Byte code = Byte.decode("10");
assert code == 10; //true
//16进制
Byte code1 = Byte.decode("0x10");
assert code1 == 16;//true
//16进制
Byte code2 = Byte.decode("#10");
assert code2 == 16;//true
//8进制
Byte code3 = Byte.decode("010");
assert code3 == 8;//true

Byte code4 = Byte.decode("-0x10");
assert code4 == -16;//true

//抛出异常,java.lang.NumberFormatException: Sign character in wrong position
//Byte code5 = Byte.decode("0x-10");

byteValue

返回Byte的基本类型值

Byte B = Byte.valueOf("123");
byte b = B.byteValue();

shortValue

转换为类型 short后此对象表示的数值

        Byte B = Byte.valueOf("123");
        short st = B.shortValue();

intValue

转换为类型 int后此对象表示的数值

        Byte B = Byte.valueOf("123");
        int st = B.intValue();

longValue

转换为类型 long后此对象表示的数值

        Byte B = Byte.valueOf("123");
        long lg = B.longValue();

floatValue

转换为类型 float后此对象表示的数值

        Byte B = Byte.valueOf("123");
        float ft = B.floatValue();
        System.out.println(ft); //123.0

doubuleValue

转换为类型 double后此对象表示的数值

        Byte B = Byte.valueOf("123");
        double db = B.doubleValue();

hashCode

        Byte B = Byte.valueOf("123");
        /*
        返回此Byte的哈希码; 等于调用intValue()的结果
         */
        System.out.println(B.hashCode());

        /*
        返回byte值的哈希码; 与Byte.hashCode()兼容
         */
        byte b = 123;
        System.out.println(Byte.hashCode(b));
        
        /**
         * 输出:
         * 123
         * 123
         */

equals

将此对象与指定的对象进行比较。
当且仅当参数不是null并且是包含与此对象相同的byte值的Byte对象时,结果为true

        Byte B1 = Byte.valueOf("123");
        Byte B2 = Byte.valueOf("123");
        Byte B3 = new Byte("123");

        System.out.println(B1.equals(B2));
        System.out.println(B1.equals(B3));
        System.out.println(B1 == B2);
        System.out.println(B1 == B3);
         /**
         * 输出:
         * true
         * true
         * true
         * false
         */

compareTo

以数字方式比较两个 Byte对象
值0,两个参数相等 ;
值小于0 ,此参数小于第二个参数;
值大于0,此参数大于第二个参数

        Byte B1 = Byte.valueOf("123");
        Byte B2 = Byte.valueOf("12");
        assert B1.compareTo(B2) > 0; //true
        assert B2.compareTo(B1) <0; //true

compare

以数字方式比较两个 Byte对象
compareTo实际调用该静态方法

        Byte B1 = Byte.valueOf("123");
        Byte B2 = Byte.valueOf("12");
        assert Byte.compare(B1, B2) > 0;

compareUnsigned

忽略符号进行比较

        Byte B1 = Byte.valueOf("-123");
        Byte B2 = Byte.valueOf("12");
        assert Byte.compareUnsigned(B1, B2) > 0; //true

toUnsignedInt

通过无符号转换将参数转换为int

        Byte B1 = Byte.valueOf("-123");
        System.out.println(Byte.toUnsignedInt(B1));
        Byte B2 = Byte.valueOf("123");
        System.out.println(Byte.toUnsignedInt(B2));

        /**
         * 输出:
         * 133
         * 123
         */

toUnsignedLong

通过无符号转换将参数转换为long

        Byte B1 = Byte.valueOf("-123");
        long b1 = Byte.toUnsignedLong(B1);
        System.out.println(b1); //123
相关文章
|
3月前
|
存储 Java 索引
用Java语言实现一个自定义的ArrayList类
自定义MyArrayList类模拟Java ArrayList核心功能,支持泛型、动态扩容(1.5倍)、增删改查及越界检查,底层用Object数组实现,适合学习动态数组原理。
135 4
|
3月前
|
IDE JavaScript Java
在Java 11中,如何处理被弃用的类或接口?
在Java 11中,如何处理被弃用的类或接口?
216 5
|
3月前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
209 2
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
203 1
|
3月前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
262 1
|
API
JDK1.8 API 中文文档--谷歌|必应|有道|百度版
image.png Java1.8 帮助文档 中文 – 谷歌版 在线版: https://blog.fondme.cn/apidoc/jdk-1.
5365 0
|
3月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
3月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
4月前
|
数据可视化 测试技术 API
从接口性能到稳定性:这些API调试工具,让你的开发过程事半功倍
在软件开发中,接口调试与测试对接口性能、稳定性、准确性及团队协作至关重要。随着开发节奏加快,传统方式已难满足需求,专业API工具成为首选。本文介绍了Apifox、Postman、YApi、SoapUI、JMeter、Swagger等主流工具,对比其功能与适用场景,并推荐Apifox作为集成度高、支持中文、可视化强的一体化解决方案,助力提升API开发与测试效率。
|
3月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。