在 java 中为什么会有基本数据类型的包装类?

①:基本数据类型之间的相互转换不是都可以制动转换的,而你强制转换又会出问题,比如String类型的转换为int类型的,那么jdk为了方便用户就提供了相应的包装类;

   ②:有时候一个函数需要传递一个Object的变量 而你想传递int类型的进去显然不行,怎么办呢,用到了包装类;

   故基本数据类型的包装类用法主要是:实现基本类型之间的转换; 便于函数传值; 在一些地方要用到Object的时候方便将基本数据类型装换

基本数据类型的包装类:

  1. 每一个基本数据类型,在一般情况下分配在栈上面,如果你想把它包装一下,包装成一个对象,就可以分配在堆上面,使用基本数据类型的包装类;

  2. 包装类(如:Integer,Boolean,Double 等)这些封装了一个相应的基本数据类型数值,并为其提供一系列操作;

3. 以 java.lang.Integer 类为例,相应的构造方法:

     Integer(int Value)、Integer(String s)

包装类常见方法:

  1. 以下方法以 java.lang.Integer 类为例:

1.1 public static final int MAX_VALUE:值为 231-1 的常量,它表示 int 类型能够表示的最大值;

      1.2 public static final int MIN_VALUE : 值为 -231 的常量,它表示 int 类型能够表示的最小值;

1.3 public int intValue():以 int 类型返回该 Integer 的值. 其返回的是转换为 int 类型后该对象表示的数值;

1.4 public long longValue():以 long 类型返回该 Integer 的值. 其返回的是转换为 long 类型后该对象表示的数值;

1.5 public double doubleValue():以 double 类型返回该 Integer 的值. 其返回的是转换为 double 类型后该对象表示的数值;

1.6 public static int parseInt(String s) throws NumberFormatException:将字符串参数作为有符号的十进制整数进行解析。

1.7 public static Integer valueOf(String s) throws NumberFormatException:返回 Integer 对象,其中封装的整型数据为字符串 s 所表示.

2. 包装类举例:

public class Test {
public static void main(String[] args){
Integer i = new Integer(100); // 分配在堆内存中
Double d = new Double("12.568"); // 相当于先把字符串转换为double类型的数,然后再封装到Double基本数据类型的对象中去
int j = (int) (i.intValue()+d.doubleValue());
double pi = Double.parseDouble("3.1415926");
double r = Double.valueOf("2.000").doubleValue();
System.out.println(r); //2.0
double s = pi*r*r;
try {
int k = Integer.parseInt("1.25");
} catch (NumberFormatException e) {
System.out.println("数据格式不对"); // 数据格式不对
}
System.out.println(Integer.toBinaryString(123)+'B'); // 1111011B
System.out.println(Integer.toHexString(123)+'H'); // 7bH
System.out.println(Integer.toOctalString(123)+'O'); // 173O
}
}

Java中的基本数据类型包装类的更多相关文章

  1. Java中的变量数据类型补充

    Java中变量的数据类型的补充 变量按照数据类型进行分类 1.基本数据类型 数值型:①整数类型(byte,short,int,long)②浮点型(float,doubbe)③字符型(char)④布尔型 ...

  2. Java中常用类(包装类扩展知识)

    Java常用类有哪些? 八大基本数据类型的包装类 包装类均位于java.lang包中,包装类和基本数据类型的对应关系如下表: 基本数据类型 包装类 byte Byte boolean Boolean ...

  3. Java中特殊的类——包装类

    Java中特殊的类--包装类 包装类就是将基本数据类型封装在类中. 1.包装类 (1)自定义包装类 将基本数据类型包装成一个类对象的本质就是使用Object进行接收处理. 此时IntDemo类就是in ...

  4. JAVA中分为基本数据类型及引用数据类型

    一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...

  5. 二、java中的基本数据类型

    总结: 1.java中的基本数据类型有byte.short.int.long;float.double;char;boolean. 2.基本数据类型与1相对应分别占1.2.4.8;4.8;2;1.(单 ...

  6. java中的基本数据类型一定存储在栈中吗?

    首先说明,"java中的基本数据类型一定存储在栈中的吗?”这句话肯定是错误的. 下面让我们一起来分析一下原因: 基本数据类型是放在栈中还是放在堆中,这取决于基本类型在何处声明,下面对数据类型 ...

  7. java中的基本数据类型和引用数据类型

    java中基本数据类型有8种:byte,short,int,long,char,float,double,boolean 整型有四种:byte short,int,long byte:   1字节   ...

  8. JAVA中分为基本数据类型和引用数据类型区别

    一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...

  9. java中8种数据类型和默认值所占字节数

    java 8种基本数据类型的默认值及所占字节数 通过一段代码来测试一下 8种基本数据类型的默认值 1 package dierge; 2 3 public class Ceshi { 4 int a; ...

随机推荐

  1. 小工具:生成半透明背景色的 CSS 代码,不影响子元素透明度

    工具:http://leegorous.net/tools/bg-alpha.html 工具介绍:http://leegorous.net/blog/2010/07/29/generate-css-c ...

  2. Java : java基础(5) Socket网络编程

    使用 DatagramSocket 创建一个 UDP协议的Socket, 用DatagramPacket创建一个数据包,可以指定ip和端口号以及包的数据,用socket.send()可以发送这个数据包 ...

  3. 在线升级python3.3版本

    1.sudo su 2.wget -P /usr/local  http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz    #指定下载到目录/ ...

  4. 理解golang中的channel

    channel是goroutine之间的通信机制.可以类比线程间的通信,线程间的通信有多种方式,比如线程上下文.共享内存.IPC通信.socket实现不同机器间的通信. channel用起来很简单,绑 ...

  5. Android Studio 引入 Git 并提交代码

    File -> Settings -> Version Control -> Git -> Path to Git executable -> 选择本地 Git 可执行文 ...

  6. 20145209刘一阳《网络对抗》Exp6信息搜集与漏洞扫描

    20145209刘一阳<网络对抗>Exp6信息搜集与漏洞扫描 实践内容 信息搜集和漏洞扫描 信息搜集 whois查询 用whois查询博客园网站的域名注册信息可以得到注册人的名字.城市等信 ...

  7. 在线elasticsearch集群批量写入变慢,导致kafka消息消费延迟

    写入报错如些: -- ::24.166 [elasticsearch[_client_][listener][T#1]] INFO com.mobanker.framework.es.Elastics ...

  8. python中的class正确用法

    class Dog: def __init__(self, name): self.name = name self.tricks = [] # creates a new empty list fo ...

  9. hdu1312Red and Black(迷宫dfs,一遍)

    Red and Black Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  10. uvaoj455Periodic Strings(枚举)

    A character string is said to have period k if it can be formed by concatenating one or more repetit ...