转载

包装类的基本用法

为什么需要包装类(Wrapper Class)

java并不是纯面向对象的语言,java语言是一个面向对象的语言,但是java中的基本数据类型却不是面向对象的,但是我们在实际使用中经常将基本数据类型转换成对象,便于操作,比如,集合的操作中,这时,我们就需要将基本类型数据转化成对象!

包装类和基本数据类型的关系

基本数据类型                       包装类

byte                                                          Byte

boolean                                                    Boolean

short                                                         Short

char                                                          Character

int                                                             Integer

long                                                           Long

float                                                          Float

double                                                     Double

包装类的继承关系

包装类的基本用法

包装类的基本操作

包装类的基本用法

详见jdk api

 1 public class TestInteger {
 2 
 3     public static void main(String[] args) {
 4         // TODO Auto-generated method stub
 5        Integer i1=new Integer(123);
 6        Integer i2 = new Integer("123");
 7        System.out.println("i1=i2:"+(i1==i2));//false
 8        System.out.println("i1.equals(i2):"+i1.equals(i2));
 9        System.out.println(i2);
10        System.out.println(i2.toString());//说明重写了toString方法
11        Integer i3=new Integer(128);
12        System.out.println(i1.compareTo(i3));//-1
13        System.out.println(i1.compareTo(i2));//0
14        System.out.println(i3.compareTo(i2));//1
15        //(1)Integer-->int    包装对象.intValue()
16        int i=i1.intValue();
17        System.out.println(Integer.max(10, 20));//返回最大值
18        //(2)String -->int  包装类类名.parseInt(String s)
19        int ii=Integer.parseInt("234");
20        //(3)int -->Integer
21        Integer i4=Integer.valueOf(123);
22        //(4)int-->String
23        String str=ii+"";
24        String s=String .valueOf(ii);
25        //(5)String-->Integer;
26        Integer i5=new Integer("345");
27        //(6)Integer-->String
28        String ss=i5.toString();
29        System.out.println(ss);
30     }
31 
32 }

4.StringBuilder_StringBuffer 用法_JDK 底

层源码分析—->请见源码查看

4.1 可变的字符串

StringBuilder:效率高,安全性低

StringBuffer:效率低,安全性高

4.2StringBuilder 的常用方法的使用

append()

delete()

insert()

StringBuilder()

package com.bjsxt.stringbuilder;

public class TestStringBuffer {

public static void main(String[] args) {

StringBuilder sb = new StringBuilder();

// 字符串的追加

sb.append(“hello”);

sb.append(true);

sb.append(‘你’);

sb.append(100);

System.out.println(sb.toString());

sb.delete(3, 5);// 含头不含尾

System.out.println(sb);

sb.deleteCharAt(1);// 删除指定位置上的字符

System.out.println(sb);

sb.insert(2, ‘好’);

System.out.println(sb);

System.out.println(sb.indexOf(“t”) + “/t” + sb.indexOf(“k”));

}

}

package com.bjsxt.stringbuilder;

public class TestStringBuilder2 {

public static void main(String[] args) {

StringBuilder sb=new StringBuilder();//实际上创建了一个长度为16的char类型的数组

StringBuilder sb2=new StringBuilder(“hello”);//5+16

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

sb2.append(“world”);

System.out.println(sb2);

System.out.println(“容量”+sb2.capacity()+”/tsb2的长度”+sb2.length());

}

}

4.3StringBuilder 的 JDK 源码分析

5.不可变字符序列和可变字符序列的深入

javap 是 JDK 自带的一个工具,可以反编译,也可以查看 Java

编译器生成的字节码,是分析代的一个好工具。

-c 对代码进行反汇编

————-

详解Java的自动装箱与拆箱(Autoboxing and unboxing)

一、什么是自动装箱拆箱

很简单,下面两句代码就可以看到装箱和拆箱过程

1 //自动装箱
2 Integer total = 99;
3 
4 //自动拆箱
5 int totalprim = total;

简单一点说,装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

下面我们来看看需要装箱拆箱的类型有哪些:

包装类的基本用法

包装类的基本用法

这个过程是自动执行的,那么我们需要看看它的执行过程:

1 public class Main {
2     public static void main(String[] args) {
3     //自动装箱
4     Integer total = 99;
5 
6     //自定拆箱
7     int totalprim = total;
8     }
9 }

原文  http://www.iigrowing.cn/bao_zhuang_lei_de_ji_ben_yong_fa.html
正文到此结束
Loading...