基础

//final修饰不可更改,每次赋值都是新建类(其中-128~127是通过LongCache数组获取的不是新建的,所以可以使用==比较,但其他数据是通过new创建的,不能使用==直接比较大小,因为是不同的类,地址不同,需用equals)
public final class Long extends Number implements Comparable<Long> {}
  • 1
  • 2

常量

//-2^63
@Native public static final long MIN_VALUE = 0x8000000000000000L;
//2^63-1
@Native public static final long MAX_VALUE = 0x7fffffffffffffffL;
//位数
@Native public static final int SIZE = 64;
//字节数
public static final int BYTES = SIZE / Byte.SIZE;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

继承 
抽象类Number 
获取包装类与基本类型之间的转换值,short、int、long、byte、float、double。 
实现 
Comparable 接口 
实现compareTo(T o)方法 
私有静态内部类

//初始化是-128~127的Long对象
private static class LongCache {
private LongCache(){} static final Long cache[] = new Long[-(-128) + 127 + 1]; static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Long(i - 128);
}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

方法

转成特定进制的字符串

//i:数值
//radix:需要转换的进制(2~36 不在此范围的按10进制处理)
public static String toString(long i, int radix) {}
//默认转成10进制,当i==MIN_VALUE 直接返回数值"-9223372036854775808"
public static String toString(long i) {}
//调用toString(long i)
public String toString() {}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

按无符号数值转特定进制的字符串,BigInteger

//无符号数转字符串
//i:数值
//radix:需要转换的进制(2~36 不在此范围的按10进制处理)
public static String toUnsignedString(long i, int radix) {}
private static BigInteger toUnsignedBigInteger(long i) {}
//转化成16进制无符号字符串
public static String toHexString(long i) {}
//转化成10进制无符号字符串
public static String toUnsignedString(long i) {}
//转化成8进制无符号字符串
public static String toOctalString(long i) {}
//转化成2进制无符号字符串
public static String toBinaryString(long i) {}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

字符串转long

//s:数值字符串
//radix:s字符串是几进制(radix不在2~36则抛异常)
public static long parseLong(String s, int radix) throws NumberFormatException{}
//字符串为10进制
public static long parseLong(String s) throws NumberFormatException {}
//无符号字符串转long(字符串第一位为“-”抛异常)
//radix:表示s字符串是几进制(radix不在2~36则抛异常)
public static long parseUnsignedLong(String s, int radix) throws NumberFormatException {}
//字符串为10进制
public static long parseUnsignedLong(String s) throws NumberFormatException {}

字符串,long转Long

//s:数字型字符串
//radix:表示s字符串是几进制(radix不在2~36则抛异常)
public static Long valueOf(String s, int radix) throws NumberFormatException {}
//默认为10进制
public static Long valueOf(String s) throws NumberFormatException{}
//其中-128~127的Long是程序启动时就已经保存到LongCache中,所以在这个范围的数据是直接取的LongCache中的值
public static Long valueOf(long l) {}
//nm:可以是010(8进制)、0x10(16进制)(#开头的在这个方法中也表示16进制)
public static Long decode(String nm) throws NumberFormatException {}

Long转基本数据类型

public byte byteValue() {}
public short shortValue() {}
public int intValue() {}
public long longValue() {}
public float floatValue() {}
public double doubleValue() {}

获取系统属性的值

//nm:系统属性的名称
//val:如果为空时的默认值
public static Long getLong(String nm, long val) {}
public static Long getLong(String nm, Long val) {}
//返回默认值为null
public static Long getLong(String nm) {}

比较及求和

//返回-1,1,0(-1表示y大,1表示x大)
public int compareTo(Long anotherLong) {}
//返回-1,1,0(-1表示y大,1表示x大)
public static int compare(long x, long y) {}
//比较xy无符号数的大小,返回-1,1,0(-1表示y大,1表示x大)
public static int compareUnsigned(long x, long y) {}
public static long sum(long a, long b) {}
public static long max(long a, long b) {}
public static long min(long a, long b) {}

无符号数运算

//将dividend和divisor转成无符号整数相除取整
public static long divideUnsigned(long dividend, long divisor) {}
//将dividend和divisor转成无符号整数相除取余
public static long remainderUnsigned(long dividend, long divisor) {}

位运算 
同Integer

Java8 基础数据类型包装类-Long的更多相关文章

  1. java基础数据类型包装类

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  2. JAVA基础--常用类 String,StringBuffer, 基础数据类型包装类, Math类, Enum类

    字符串相关类: String, StringBuffer String类为不可变的字符序列 String s1="hello"; String s2="hello&quo ...

  3. 面试题:基础数据类型 包装类 int Integer

    因为在学习集合时知道集合里存放的对象都是Object类型,取出的时候需要强制类型转换为目标类型(使用泛型集合不需要),如int a = (Integer)arrayList.get(0):然后我们就会 ...

  4. 黑马程序员——JAVA基础之基本数据类型包装类和1.5JDK新特性装箱

    ------- android培训.java培训.期待与您交流! ---------- 基本数据类型包装类: byte Byte short Short int Integer char Charac ...

  5. Java基础---String类和基本数据类型包装类

    第一讲     String类 一.概述         String是字符串的类类型,用于描述字符串事物.字符串是一个特殊的对象.特殊之处就在于: Stings= new String();和Str ...

  6. 黑马程序员----java基础:String与StringBuffer及基本数据类型包装类

    ------- android培训.java培训.期待与您交流! ---------- java中一些基础类比如String.StringBuffer和基本数据类型包装类都是非常常见且使用非常频繁的类 ...

  7. [五]基础数据类型之Short详解

      Short 基本数据类型short  的包装类 Short 类型的对象包含一个 short 类型的字段      原文地址:[五]基础数据类型之Short详解   属性简介   值为  215-1 ...

  8. Java - 关于基础数据类型的形参和返回值

    1. 当基础数据类型被当作形参时,最好使用其包装类,因为这样可方便调用者传参(基础数据类型亦或是其包装类都可)   2. 当基础数据类型被当作返回值时,最好使用原型,因为这样可以方便调用者接收返回值( ...

  9. java基础-数据类型之殇

    一 前言 Java的数据类型分为2种,分别是基本数据类型和引用数据类型:java的数据类型是强数据类型,意味着每声明一个变量,其必定有与之对应的数据类型:面试常问的java8大基本数据类型其实是基本数 ...

随机推荐

  1. 每日Android一问等你来解答-什么是Activity的生命周期?

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 什么是Activity的生命周期? 生命周期: 对于生命周期我们 ...

  2. shell脚本编程基础之for循环

    循环结构 循环需要有进入条件和退出条件,如果没有退出条件,则就会一直循环下去 for 变量 in 列表:do 循环体 done 生成列表及示例 {1..100}:生成1到100的整数列表 `comma ...

  3. JDK源码解析---HashMap源码解析

    HashMap简介 HashMap是基于哈希表实现的,每一个元素是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阀值)时,同样会自动增长. HashMap是非线程安全的,只是 ...

  4. Cobaltstrike与Metasploit会话转换

    这里只做记录,不做详解 0x00 实验环境 被控制机:192.168.126.129 Metasploit:192.168.126.128 Cobaltstrike:182...* 0x01 CS会话 ...

  5. D3.js的v5版本入门教程(第九章)——完整的柱状图

    D3.js的v5版本入门教程(第九章) 一个完整的柱状图应该包括的元素有——矩形.文字.坐标轴,现在,我们就来一一绘制它们,这章是前面几章的综合,这一章只有少量新的知识点,它们是 d3.scaleBa ...

  6. Remind Me

    创建2d人物:live2d 创建3d人物:adobe fuse

  7. 并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host

    当对单接口极限测试时,随着并发量上升,接口稳定性出现不稳定的情况,排查后台日志,发现报错在该接口调用sftp上传时出现问题(确切的是在初始化连接时失败) 原因:系统SSH终端连接数配置过小,查看虚拟机 ...

  8. IDS,IPS,IPD

    什么是IDP - 百度文库https://wenku.baidu.com/view/c500cf35eefdc8d376ee3220.html

  9. Python3基础 tuple 使用格式化字符串进行输出

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  10. Flutter中通过普通的点击事件修改TextFormField的值

    import 'package:flutter/material.dart'; import 'package:zhongfa_apps/widget/public/PublicWidget.dart ...