JavaSE之Long 详解 Long的方法简介以及用法
Posted noteless
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE之Long 详解 Long的方法简介以及用法相关的知识,希望对你有一定的参考价值。
基本功能
Long 类在对象中包装了基本类型 long 的值
每个 Long 类型的对象都包含一个 long 类型的字段
|
static long MAX_VALUE | long 8个字节 最大值2^63-1 十六进制: 0x8000000000000000L |
static long MIN_VALUE | 最小值-2^63 十六进制: 0x7fffffffffffffffL |
static int SIZE |
二进制补码形式表示值时的位数
@Native public static final int SIZE = 64; 8个字节就是64位
|
static Class<Long> TYPE | 表示基本类型 long 的 Class 实例 |
方法分类
实例方法
由上面实例方法的依赖性也可以看得出来,Long类本身静态方法的强大
静态工具方法
特别注意:
value of 与new Long
valueOf就是根据指定的long或者String 返回一个Long对象
java.lang.Long.valueOf(long)是根本方法
可以看得出来,他会使用LongCache缓存256个对象(0~255)
静态内部类,使用的时候,static块中初始化
简言之就是最核心是valueOf(long),在指定范围内他是有缓存的,不在指定范围内,那么将会创建对象 所以,如果可以,尽量不要使用new Long |
parseLong
从valueOf看得出来,带参数的借助的都是parseLong parseLong是返回的long 基本数据类型,valueOf相当于他的装箱形式(当然,valueOf还有使用缓存数据的功能) |
decode(String nm)
decode将字符串转换为Long,听起来好像跟valueOf 差不多 都是根据字符串转变为Long对象 但是ValueOf要么指定基数要么就是默认十进制,而且不认识0X.#这种形式 decode不需要指定基数,可以根据字符串的前缀进行自己判断基数,用起来比valueOf更加灵活 |
getLong
getLong根本就不是看起来的样子
java.lang.Long.getLong(String)
java.lang.Long.getLong(String, long)
java.lang.Long.getLong(String, Long)
他只是valueOf的一个非常小的子集,仅仅是字符串为系统属性的某个变量名时,才是可以用的 ,才是可以解析的
你传入getLong("16"),根本不行
|
以上是关于JavaSE之Long 详解 Long的方法简介以及用法的主要内容,如果未能解决你的问题,请参考以下文章
(*(volatile unsigned long *)详解
(*(volatile unsigned long *)详解
在 GCC 上设置打包的 long long 的正确对齐以与 avx2 指令一起使用