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()方法,以字符串形式返回包装类对象所表示的基本数据类型。
还有两个常用的方法:parseInt和valueOf ,这两个都是静态方法,区别在于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);
分享到:
相关推荐
5.3 包装类的使用 114 实例093 将字符串转换成整数 114 实例094 整数进制转换器 115 实例095 查看数字的取值范围 116 实例096 ASCII编码查看器 117 实例097 Double类型的比较 118 5.4 面向对象的特征 119 实例098 ...
是Java中的机器学习库,可提供多类分类,回归,聚类,异常检测和多标签分类。 Tribuo提供了流行的ML算法的实现,还包装了其他库以提供统一的接口。 Tribuo包含加载,特征化和转换数据所需的所有代码。 此外,它包括...
适用于Java项目的OpenAPI主页这是Java(通常为Jakarta或JVM平台)的openapi4j项目的主页。 openapi4j是一套工具,包括以下内容: 解析器和验证器。 打开API 验证器。 实现。 针对操作的请求/响应验证器。 仅用于内部...
- **静态导入**:Java 5引入了静态导入功能,允许将类中的静态成员直接引用而无需指定类名,如`import static java.lang.Math.*;`,简化了代码书写。 - **自动装箱/拆箱**:自动装箱是指将基本类型与对应的包装...
2013年达内java源码 它是什么? 这是由 at 领导的计算语言理解 (CLU) 实验室的主要公共代码库。 此存储库包含: org.clulab.odin包中名为 Odin(Open Domain INformer)的基于规则的事件提取 (EE) 框架。 有关更多...
LibSVM可以与其他编程语言(如Python)或数据分析工具(如R)通过接口进行集成,例如使用Python的`scikit-learn`库包装LibSVM,或者在R中使用`e1071`包调用LibSVM。 总结,LibSVM是一个功能强大且灵活的SVM实现,...
同时,为了便于使用,可能还需要创建C++的包装类来调用SVM库中的函数。 总的来说,SVM-lib为开发者提供了一个高效、灵活的支持向量机实现,它不仅适用于学术研究,也在实际的工业应用中得到广泛应用。通过熟悉并...
WekaJSATBridge 在 JSAT 和 Weka 数据集/对象之间转换的迷你库,允许一些 Weka 对象在 JSAT 中工作,反之亦然目的是通过从另一个包(例如 Weka)... 目前有以下包装: Weka -> JSAT 分类回归聚类JSAT -> Weka 分类回归
除了自动化包装,SimpleITK项目提供了一个简化的接口给ITK,可适用于C++、Python、Java、C#、R、Tcl和Ruby等语言。全球的开发者可以使用、调试、维护和扩展软件,因为ITK是一个开源项目。 在软件开发方面,ITK采用...
- 产业理性回归:在3G初期的泡沫破灭后,电信业经历了一段低谷期,但现在逐渐复苏,3G技术展示更加务实,不再过分追求技术包装。 - 电信产业融合:互联网的普及加速了网络融合,运营商、设备制造商和内容提供商都...
Weka包含了大量的预处理、分类、回归、聚类和关联规则算法,并提供了一个图形用户界面和Java API,便于数据科学家和初学者进行数据分析。版本号3-5-7表示这是一个较早的稳定版本,可能不包含最新的特性或优化,但...
1. **神经网络模型**:支持多种类型的神经网络,如卷积神经网络(CNN)用于图像处理,循环神经网络(RNN)用于序列数据,以及多层感知机(MLP)用于分类和回归任务。 2. **自动微分**:通过反向传播算法自动计算...
YOLO是一种实时目标检测系统,它的设计理念是将目标检测视为一个回归问题,而不是像传统的检测方法那样分为分类和定位两个步骤。这里提到的YOLov4是YOLO系列的最新版本,它通过引入大量的数据增强策略、网络结构优化...
4.7用RAII 包装文件描述符.. . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.8RAII 与fork() . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . 101 4.9多线程与fork() . . . . . . . . ...