`
lichen0921
  • 浏览: 81490 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

Java回归线之包装类

    博客分类:
  • Java
阅读更多
java包装类
 
在Java中,有8种基本数据类型:boolean、byte、char、short、int、long、float、double,对应的包装类分别为Boolean、Byte、Character、Short、Integer、Long、Float、Double。

包装类具有以下特点:
① 所有的包装类都是final类型,因此不能创建它们的子类。
② 包装类是不可变类,一个包装类的对象自创建后,它所包含的基本类型数据就不能改变。
③ JDK1.5后允许基本类型和包装类型进行混合数学运算。
System.out.println(new Integer(1)+2);
 
包装类的作用有两种:
① 作为和基本数据类型对应的类类型存在,方便涉及到对象的操作。 
② 包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法。

下面以Integer为例:

1、首先看一下API文档。

Integer位于java.lang包下,继承自java.lang.Number类。
Integer的构造方法有Integer(int value)和Integer(String s)。
所以System.out.println(new Integer("1")+2);也是合法的。
需要注意的是如果是new Integer("s"),编译会通过,但是在运行时会抛出NumberFormatException。
 
通过包装类可以取到最大最小值
 
System.out.println(Integer.MAX_VALUE); //2147483647
System.out.println(Integer.MIN_VALUE); //-2147483648
 
 
重写了Object的toString()方法,以字符串形式返回包装类对象所表示的基本数据类型。
还有两个常用的方法:parseIntvalueOf ,这两个都是静态方法,区别在于parseInt返回的是int,而valueOf 返回的是Integer
int a = Integer.parseInt("123"); 
Integer b = Integer.valueOf("123"); 
System.out.println(a==b);//true
 
 2、装箱和拆箱
装箱操作:将基本数据类型变为包装类
拆箱操作:将包装类变为基本数据类型
int x=1; 
Integer y=new Integer(x);//装箱 
int z=y.intValue();//拆箱
 
在JDK1.5之后,装箱拆箱可以自动完成。
int x=1; 
Integer y=x;//自动装箱 
int z=y;//自动拆箱
 
3、和String的转换
String s="123"; 
int i=Integer.parseInt(s); 
String s1=Integer.toString(i);
 
 
分享到:
评论

相关推荐

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    5.3 包装类的使用 114 实例093 将字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 面向对象的特征 119 实例098 ...

    致谢:Tribuo-Java机器学习库

    是Java中的机器学习库,可提供多类分类,回归,聚类,异常检测和多标签分类。 Tribuo提供了流行的ML算法的实现,还包装了其他库以提供统一的接口。 Tribuo包含加载,特征化和转换数据所需的所有代码。 此外,它包括...

    openapi4j:OpenAPI 3解析器,JSON模式和请求验证器

    适用于Java项目的OpenAPI主页这是Java(通常为Jakarta或JVM平台)的openapi4j项目的主页。 openapi4j是一套工具,包括以下内容: 解析器和验证器。 打开API 验证器。 实现。 针对操作的请求/响应验证器。 仅用于内部...

    javaweb复习资料,黑马程序员视频

    - **静态导入**:Java 5引入了静态导入功能,允许将类中的静态成员直接引用而无需指定类名,如`import static java.lang.Math.*;`,简化了代码书写。 - **自动装箱/拆箱**:自动装箱是指将基本类型与对应的包装...

    2013年达内java源码-Processors:处理器

    2013年达内java源码 它是什么? 这是由 at 领导的计算语言理解 (CLU) 实验室的主要公共代码库。 此存储库包含: org.clulab.odin包中名为 Odin(Open Domain INformer)的基于规则的事件提取 (EE) 框架。 有关更多...

    libsvm全部源代码

    LibSVM可以与其他编程语言(如Python)或数据分析工具(如R)通过接口进行集成,例如使用Python的`scikit-learn`库包装LibSVM,或者在R中使用`e1071`包调用LibSVM。 总结,LibSVM是一个功能强大且灵活的SVM实现,...

    支持向量机(SVM-lib)(VC)

    同时,为了便于使用,可能还需要创建C++的包装类来调用SVM库中的函数。 总的来说,SVM-lib为开发者提供了一个高效、灵活的支持向量机实现,它不仅适用于学术研究,也在实际的工业应用中得到广泛应用。通过熟悉并...

    WekaJSATBridge:在 JSAT 和 Weka 数据集对象之间转换的迷你库,允许一些 Weka 对象在 JSAT 中工作,反之亦然

    WekaJSATBridge 在 JSAT 和 Weka 数据集/对象之间转换的迷你库,允许一些 Weka 对象在 JSAT 中工作,反之亦然目的是通过从另一个包(例如 Weka)... 目前有以下包装: Weka -> JSAT 分类回归聚类JSAT -> Weka 分类回归

    InsightSoftwareGuide-Book1-4.7.1.pdf

    除了自动化包装,SimpleITK项目提供了一个简化的接口给ITK,可适用于C++、Python、Java、C#、R、Tcl和Ruby等语言。全球的开发者可以使用、调试、维护和扩展软件,因为ITK是一个开源项目。 在软件开发方面,ITK采用...

    3G培训内容(二)国内外运营商3G市场策略.pptx

    - 产业理性回归:在3G初期的泡沫破灭后,电信业经历了一段低谷期,但现在逐渐复苏,3G技术展示更加务实,不再过分追求技术包装。 - 电信产业融合:互联网的普及加速了网络融合,运营商、设备制造商和内容提供商都...

    weak应用程序,数据挖掘平台

    Weka包含了大量的预处理、分类、回归、聚类和关联规则算法,并提供了一个图形用户界面和Java API,便于数据科学家和初学者进行数据分析。版本号3-5-7表示这是一个较早的稳定版本,可能不包含最新的特性或优化,但...

    deeplearning4s:Scala的深度学习(dl4j的scala包装器)

    1. **神经网络模型**:支持多种类型的神经网络,如卷积神经网络(CNN)用于图像处理,循环神经网络(RNN)用于序列数据,以及多层感知机(MLP)用于分类和回归任务。 2. **自动微分**:通过反向传播算法自动计算...

    基于pytorch深度学习框架,实用开源模型yolov4实现模板检测与yolov5实现车牌检测与LPRNet实现车牌检测

    YOLO是一种实时目标检测系统,它的设计理念是将目标检测视为一个回归问题,而不是像传统的检测方法那样分为分类和定位两个步骤。这里提到的YOLov4是YOLO系列的最新版本,它通过引入大量的数据增强策略、网络结构优化...

    Linux多线程服务端编程:使用muduo C++网络库

    4.7用RAII 包装文件描述符.. . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.8RAII 与fork() . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 101 4.9多线程与fork() . . . . . . . . ...

Global site tag (gtag.js) - Google Analytics