一、抽象类Number

类继承关系

这里面的原子类、BigDecimal后面都会详细介绍。

属性和抽象方法

二、概述

所有的属性,最小-128,最大127,SIZE和BYTES代码比特值的二进制补码长度。

一个静态内部类做缓存

    private static class ByteCache {private ByteCache(){}static final Byte cache[] = new Byte[-(-128) + 127 + 1];static {for(int i = 0; i < cache.length; i++)cache[i] = new Byte((byte)(i - 128));}}

三、常见方法

compare

    public static int compare(byte x, byte y) {return x - y;}

toUnsignedInt、toUnsignedLong

将一个byte转换为一个无符号的int值,跟0xff做与运算

    public static int toUnsignedInt(byte x) {return ((int) x) & 0xff;}

valueOf,参数radix代表进制

    public static Byte valueOf(String s, int radix)throws NumberFormatException {return valueOf(parseByte(s, radix));}

decode:将字符串解码WieByte类型

支持二进制,八进制,十六进制,会调用Integer的decode方法进行处理,默认十进制,关于这个方法后面再讲。

请参考:https://blog.csdn.net/m0_37609579/article/details/103558588

    public static Byte decode(String nm) throws NumberFormatException {int i = Integer.decode(nm);if (i < MIN_VALUE || i > MAX_VALUE)throw new NumberFormatException("Value " + i + " out of range from input " + nm);return valueOf((byte)i);}

也有一些强转成基本数据类型的方法,都很简单

     public byte byteValue() {return value;}public short shortValue() {return (short)value;}public int intValue() {return (int)value;}public long longValue() {return (long)value;}public float floatValue() {return (float)value;}public double doubleValue() {return (double)value;}public String toString() {return Integer.toString((int)value);}

hashCode就是该byte对应的int值

    public static int hashCode(byte value) {return (int)value;}

没有了,很简单的一个类。

JDK源码(8)-Byte相关推荐

  1. java int类源码,一起学JDK源码 -- Integer类

    Integer类为java基本类型int的包装类,除了前面提到的Byte类,Short类中的大部分方法,Integer类中还提供了很多处理int类型的方法,接下来就让我们一起看看吧. 基础知识: 1. ...

  2. JDK源码学习笔记——Integer

    一.类定义 public final class Integer extends Number implements Comparable<Integer> 二.属性 private fi ...

  3. 从JDK源码角度看Long

    概况 Java的Long类主要的作用就是对基本类型long进行封装,提供了一些处理long类型的方法,比如long到String类型的转换方法或String类型到long类型的转换方法,当然也包含与其 ...

  4. JDK源码解析 InputStream类就使用了模板方法模式

    JDK源码解析 InputStream类就使用了模板方法模式. 在InputStream类中定义了多个 read() 方法,如下: public abstract class InputStream ...

  5. JDK源码学习-基础

    JDK源码学习 目录 基础 1. 安装 1.1 下载JDK 1.2 配置环境变量 1.3 验证 2. 简单的程序 2.1 编写代码 2.2 编译文件 2.3 执行类 3. java基本类型 基础 1. ...

  6. 【JDK源码】java.io包常用类详解

    看完java.io的JDK源码,在网上发现一篇关于java.io中的类使用的文章总结的很全面,看完之后在原文的基础上加了一些自己的总结如下构成了本篇文章.原文地址 一.Java Io流 1. Java ...

  7. 【JDK源码】java.lang包常用类详解

    接下来的几天开始JDK源码的学习和总结,之前看<java编程思想>的时候看到java的基础知识有很多,其中支撑着这些基础的基础中的基础当属JDK.JDK的基础代码里面又分了很多基础的模块, ...

  8. JDK源码学习路线~每天学一点~每天进步一点点

    很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起.以下为小编整理的通常所需阅读的源码范围. 标题为包名,后面序号为优先级1-4,优先级递减 1.java.lang 1) Objec ...

  9. JDK源码(1)-阅读指引

    说在最前面的话: 其实JDK源码的阅读,网上资料特别多,我阅读的最主要目的是自己学习,所以我读的可能不那么好,我的角度是从源码和源码对应的注释读起,顺便还能练练英语. 接下来准备对JDK的常见源码进行 ...

  10. 从JDK源码看关闭钩子

    关闭钩子 Java提供了Shutdown Hook机制,它让我们在程序正常退出或者发生异常时能有机会做一些清场工作.使用的方法也很简单,Java.Runtime.addShutdownHook(Thr ...

最新文章

  1. 开工啦!这本书助你快速回归高效工作状态
  2. python中复制n次字符串_在Python中查找字符串中多次出现的字符串
  3. Juice Extractor dp
  4. 【HihoCoder - 1268】九宫 (dfs,深搜)
  5. 关于数据持久化的一个简介
  6. 微信桌面版如何同时登陆两个微信账号
  7. 注册vmvare账号验证码问题
  8. 致加西亚的信 谁动了我的奶酪
  9. java web 速成_渐进式Web应用程序:速成课程
  10. CRC-16 CCITT
  11. DBA职业规划技术成长路线
  12. PHP微信防止token过期,微信调用接口,防止Access_token过期的方法
  13. 无法启动计算机的杀毒软件,电脑中毒杀毒软件无法启动任务管理器也被禁用怎么办?...
  14. 2018-2019第一学期Java助教心得
  15. 计算机毕业设计Java国漫论坛网站(源码+系统+mysql数据库+Lw文档)
  16. mysql 查询随机10条数据 (转载)
  17. 小米云备份的正确打开方式,你学会了吗
  18. adjacency list(邻接表)神物
  19. 2016年linux认证,2016年Linux认证考试练习题及答案
  20. SQL Server 2008性能故障排查(三)——I/O

热门文章

  1. 基于Openstack的企业级实例在360的落地实战
  2. Java企业面试算法新得体会之5字符串问题24问
  3. PHP服务端推送技术Long Polling
  4. 浅谈Spring测试框架+junit4单元测试原理
  5. 编写一个可动态注入Spring 容器的工具类
  6. 想重装java jdk_jdk怎么重新安装
  7. Oracle用rowid删除同一张表的重复记录
  8. k8s解决coredns 的ImagePullBackOff 和ErrImagePull 问题
  9. Redis:Big Key问题
  10. 图文详解什么是OAuth2