Java 包装类、集合框架概述

1 包装类

基本数据类型 (原生类)

byte Byte

short Short

int Integer

long Long

float Float

double Double

char Character

boolean Boolean

//例子 取int 型的最大值

  Integer.MAX_VALUE

//例子 把一个字符变大写

  System.out.println( Character.toUpperCase('a'));

//例子,判断一个字符是不是数字 ,是不是字母

System.out.println(Character.isDigit('9')); // true

System.out.println(Character.isLetter('a')); // true

//例子 把一个数字转成字符串

int x=90;

String str=x+"";

或:

Integer.toString(x);

//例子 把 字符串转成数值

String d=“30”;

String pi=“3.14”;

System.out.println(Integer.parseInt(d) * Float.parseFloat(pi));

//例子

  Integer x=new Integer("90");  //这里传数字类型的90也可以 

  int a=x.intValue();

//例子 与进制转换相关

int a=90;

//2进制

System.out.println(Integer.toBinaryString(a));  //0B1011010 

//16进制

System.out.println(Integer.toHexString(a)); //0x5A

//8进制

System.out.println(Integer.toOctalString(a)); //0132

如何行成类似 101010 ,101011,011111,010111 这样的串

int result=new Random().nextInt(0B111111+1);

System.out.println(Integer.toBinaryString(result));

然后在前面补0就可以了  "000000" ....

关于装箱和拆箱

装箱: 就是把基本数据类型转成包装类的过程 10 == > Integer(10)

拆箱: 就是把包装类的对象还原成基本数据型的过程  Integer(10) > 10

//例

Integer x =new Integer(9); 

Integer y =new Integer("9");

System.out.println(x==y);  //false

System.out.println(x.equals(y));  //true

从jdk1.5以后

  Integer x=5;  //可以,它会自动装箱

  x+=3;        //可以,先自动拆箱,进行运算后,再把结果自动装箱

  传参的时候 基本数据类型,和包装类是完全兼容的

  public static void main(String[] args) {

  Integer x=5;

  test(x);  //ok

  test2(9); //ok

}

static void test(int a) {

}

static void test2(Integer a) { 

}

包装类的对象是可以取null值的,但要注意进行运算的时候容易出错

Integer x=null;

x+=3;  //不可以 引发 NullPointerException  空指针异常

//例

Integer a =100;

Integer b =100;

System.out.println(a==b); //true

    Integer a =128;  当integer的值超过127的时候,它的存放发生了变化

Integer b =128;

System.out.println(a==b); //false

集合框架概述

数组 :元素类型必须相同, 长度一经创建就不能改变

集合类: 用于存放一组对象,长度可变 ,如果不加限定,可以存放任意类型对象

                Collection  (接口)                                          Map(接口)

          List                    Set                            HashMap              TreeMap

ArrayList LinkedList Vector  HashSet  TreeSet                  LinkedHashMap

在此我向大家推荐一个架构学习交流群。交流学习群号:938837867 暗号:555 里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备

推荐阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一...
    阿里高级软件架构师阅读 2,786评论 0 19
  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    Bamboo1688阅读 2,523评论 0 9
  • 废话不多说,自己进入今天的主题 1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:...
    spring非著名程序员阅读 1,946评论 1 31
  • 我突然很期待那一天,我们在我们自己温馨的房子里做着我们最爱的冰棍甜点蛋糕小饼干美味佳肴,吃着我们亲自动手做...
    兔子先生呀呀阅读 43评论 0 1
  • #文鹏天天读书#情商就是管理情绪的能力。戈尔曼把情商概括为以下五个方面的能力:(1)认识自身情绪的能力;(2)妥善...
    文鹏天天读书阅读 162评论 0 0