java常用类与包装类--包装类
2.基本数据类型数据的包装类
局部变量中基本数据类型直接分配在栈中,而对象分配在堆中
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法来操作该数据
包装类主要功能:用于基本数据类型与字符串之间的转换

2.1 Integer类
2.1.1构造方法
Integer 类在对象中包装了一个基本类型 int 的值。
此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。


2.1.2包装类和基本数据类型和字符串的转化


Interger i1=5;//自动装箱
Interger i2=new Interger(1);
Interger i3=Interger.valueOf(3);

int i4 = i1;//自动拆箱
int i5 = i2.intValue();

String s1 = 5+"";自动装箱
String s2 = String.valueOf(3);

String转换成int值的几种方式:
1.int i1 = Integer.parseInt("12");
2.int i2 = new Integer("12").intValue();
推荐第一种方式,这也是包装类的最常用的场景
字符串转换为其它基本数据类型
byte b = Byte.parseByte("15");
float f = Float.parseFloat("1.5");
double d = Double.parseDouble("3.14");

.toString方法

Integer i8 = new Integer("3");
2.1.3版本说明


2.1.4int值转换成String
int值转换成String的4种方式:
- String s1 = "" + 10;
- String s2 = String.valueOf(10);
- String s3 = new Integer(10).toString();
- String s4 = Integer.toString(10);
推荐使用第一,二种方式
2.1.5 debug自动装箱




查看一下拥有调用这个方法所在这个类:


2.1.6练习题
/*
* 不使用构造方法去创建Integer对象(自动装箱)
* 当值在-128 到 +127之间时,实际返回的是缓冲区中的对象的引用.
*
* 反之调用的是valueOf方法-->new Integer(int value)
*
*/
public class IntegerDemo5 { public static void main(String[] args) {
Integer i1 = new Integer(10);
Integer i2 = new Integer(10);
System.out.println(i1 == i2);//比较的是内存地址 false Integer i3 = 200;
Integer i4 = 200;
System.out.println(i3 == i4);//false Integer i5 = 100;
Integer i6 = 100;
System.out.println(i5 == i6);//true
} }
2.2BigInteger类
针对超出Integer表数范围的大数场景,Java提供了BigInteger类,用于大整型数的计算(加减乘除余)
BigInteger add(BigInteger val)
返回其值为 (this + val) 的 BigInteger
BigInteger subtract(BigInteger val)
返回其值为 (this - val) 的 BigInteger。
BigInteger multiply(BigInteger val)
返回其值为 (this * val) 的 BigInteger。
BigInteger divide(BigInteger val)
返回其值为 (this / val) 的 BigInteger。
BigInteger[] divideAndRemainder(BigInteger val)
返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

2.3BigDecimal类

针对精确计算的场景,Java提供了BigDecimal类,用于浮点数的精确计算
构造方法:
BigDecimal(double value)
直接使用double参数的构造方法有一定的不预支性
BigDecimal(String value)
必须把他转成String类型才会准确


2.4Character类
Character 类在对象中包装一个基本类型 char 的值。
构造方法(只有一个):
Character(char value)
构造一个新分配的 Character 对象,用以表示指定的 char 值。

此外,该类提供了几种方法,
- 以确定字符的类别(小写字母,数字,等等),
- 并将字符从大写转换成小写,反之亦然。
都是静态方法
boolean isUpperCase(char ch)
boolean isLowerCase(char ch)
boolean isDigit(char ch)
char toUpperCase(char ch)
char toLowerCase(char ch)




java常用类与包装类--包装类的更多相关文章
- Java常用类:包装类,String,日期类,Math,File,枚举类
Java常用类:包装类,String,日期类,Math,File,枚举类
- Java常用类学习笔记总结
Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String ...
- Java 常用类总结(SE基础)
本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. Strin ...
- Java基础 —— Java常用类
Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@&quo ...
- Java常用类之要点总结
Java常用类之要点总结
- Java常用类的使用
Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if( ...
- Java常用类归纳(Object、System、Properties、包装类和工具类等等)
Object类 Object 是类层次结构的根类.每个类都使用 Object 作为超类,所有对象(包括数组)都实现这个类的方法.了解Object的方法是很有必要的. protected Object ...
- Java工具类之:包装类
Java工具类--包装类 我们都知道,JDK 其实给我们提供了很多很多 Java 开发者已经写好的现成的类,他们其实都可以理解成工具类,比如我们常见的集合类,日期相关的类,数学相关的类等等,有了这些工 ...
- java常用类-上
一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lan ...
- 第十四章 Java常用类
14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 ...
随机推荐
- Counter() most_common()
1 不仅可以统计list中元素的出现次数,也可以对str中的元素进行统计 # collections包中的Counter用于统计str list 中元素出现次数 from collections im ...
- Kotlin 的 @JvmStatic 和 @JvmField 注解
这是关于 Java 静态方法和静态变量的一段代码: public class TestStatic { private int otherField = 0; public static final ...
- Web测试方法_01
一.输入框 1.字符型输入框: (1)字符型输入框:英文全角.英文半角.数字.空或者空格.特殊字符“~!@#¥%……&*?[]{}”特别要注意单引号和&符号.禁止直接输入特殊字符时,使 ...
- ROS自动切换策略
自动切换策略,具体如下 监视地址:1.1.1.1 轮询时间:30s:超时时间:1000ms up /ip firewall nat set [/ip firewall nat find comment ...
- Series的idxmax和argmax
转载至:https://www.cnblogs.com/liulangmao/p/9211537.html pandas Series 的 argmax 方法和 idxmax 方法用于获取 Serie ...
- 【深度聚类】Superpixel Sampling Networks
Superpixel Sampling Networks 原始文档:https://www.yuque.com/lart/papers/ssn 本文的思想很简单,传统的超像素算法是一种有效的低/中级的 ...
- iview Upload组件多个文件上传
使用 iview Upload 上传组件 手动上传 包括单个文件和多个文件 思路:创建一个数组 把需要上传的文件 push到这个数组里面 1.引用组件 2.手动上传,根据官方文档 设置:before ...
- python 并发编程 基于gevent模块实现并发的套接字通信
之前线程池是通过操作系统切换线程,现在是程序自己控制,比操作系统切换效率要高 服务端 from gevent import monkey;monkey.patch_all() import geven ...
- Mybatis--<![CDATA[ sql 语句 ]]>
在mapper文件中写sql语句时,遇到特殊字符时,如:< 等,建议使用<![CDATA[ sql 语句 ]]>标记,将sql语句包裹住,不被解析器解析 在使用mybatis 时 ...
- Elasticsearch-使用映射来定义各种文档
ES-使用映射来定义各种文档 每篇文档属于一种类型,而每种类型属于一个索引.从数据的逻辑划分来看,可以认为索引是数据库,而类型是数据库中的表.类型包含了映射中每个字段的定义.映射包括了该类型的文档中可 ...