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性能优化、分布式架构等这些成为架构师必备

你可能感兴趣的:(Java 包装类、集合框架概述)