博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础02
阅读量:6825 次
发布时间:2019-06-26

本文共 1470 字,大约阅读时间需要 4 分钟。

基本数据类型封装类

byte Byte
short Short
int Integer
long Long
float Float
double Double
char character
boolean Boolean
int 转 String
String s=String.valueOf(i);
String s=Integer.toString(i);
String s=""+i;
String 转 int
String s;
int i=Integer.parseInt(s);
int i=Integer.valueOf(s).intValue();
Double Float Long 和Integer方法差不多;Character没有parse*方法
进制转换
十进制转为十进制 toString();
十进制转换为二进制 toBinaryString();
十进制转换为八进制 toOctalString();
十进制转换为十六进制 toHexString();
十进制转换为任意进制 toString(int,redix);
其他进制转换为十进制
2 Integet.parseInt("1010",2); //10
8 Integet.parseInt("12",8); //10
16 Integet.parseInt("10",16); //10
自动装箱拆箱问题
int i1=3; Integer i2=3; //new Integer(3); 自动装箱,简化书写Integer i3=new Integer(3);
//基本类型在堆栈上创建,对象类型在堆上创建,对象的引用在堆栈上创建;在堆栈上分配内存的调用效率要比在堆上分配内存的效率高出许多。
syso(i1=i2); //true i2进行自动拆箱操作,将对象类型变为基本类型
syso(i2=i3); //false 不同对象引用地址值不同
syso(i1=i3); //true i3进行自动拆箱操作,将对象类型变为基本类型
syso(i2.equals(i3)); //true equals比较的是对象的内容
int i4=i1+i2; //i2进行自动拆箱,将i2变为基本类型

Integer a=new Integer(127); Integer b=new Integer(127);syso(a==b); //false new的对象引用的地址值不同syso(a.equals(b)); //true equals比较是不是同种类型并且值相同不相同   Integer x=127; Integer y=127;syso(x=y);syso(x.equals(y));//自动装箱,如果装箱的是一个字节,那么该数据会被共享不会重新开辟空间,所以a,b所引用的地址值相同自动装箱产生相同对象:         Integer     (-128,128)        Short       (-128,128)        Character   c<128        Long        (-128,128)        Boolean 传入的值是什么值就是什么值,不会创建对象,因为Boolean.valueOf(boolean b)方法中已经创建了两个对象。        其他封装类型会直接调用valueOf()new对象

转载于:https://blog.51cto.com/11369707/2108678

你可能感兴趣的文章
最近点对-分治
查看>>
vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用
查看>>
【ZZ】技能表合集
查看>>
Vijos P1756 数字反转【进制】
查看>>
jQuery的性能优化
查看>>
简易付弹窗问题FAQ
查看>>
Oracle存储过程语法
查看>>
[springBoot系列]--springBoot注解大全
查看>>
c程序设计语言第一章1
查看>>
java_IO读写模版
查看>>
删除某个文件夹下的所有文件
查看>>
高精度模板
查看>>
python-第三方模块
查看>>
C 基础
查看>>
关于使用Cocos2dx定制动态进度条的实现启发——继承自CCActionInterval
查看>>
Mysql创建函数出错
查看>>
字符串作业2
查看>>
ArrayList和LinkedList 内部结构分析(一)
查看>>
[非技术]信笔乱写于系统上线后
查看>>
linux常用命令
查看>>