首页 > 技术文章 > instanceof运算符的使用

wxywxy 2017-04-20 20:20 原文

在之前的学习中,经常遇到instanceof运算符,对于它的用法总感觉理解不到位,所以专门总结一下它的用法加深理解。

instanceof主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否属于一个类。

1.判断一个对象是否属于一个类

boolean result = p instanceof Student; 

它的返回值是一个布尔型的。

2.对象类型强制转换前的判断

Person p = new Student();
//判断对象p是否为Student类的实例
if(p instanceof Student)
{
   //向下转型
   Student s = (Student)p;
}

暂时接触到instanceof运算符的使用就只有这两种,以后发现再来补充。

3.从对象的类型转换,联想到数据的类型转换,大概写一下。

3.1自动转换:较小范围自动转换为较大范围。

byte——short——int——long——float——double

3.2强制转换:较大范围手动强制转换为较小范围。

double x = 10.25;
int y = (int)x;

3.3两者对比。

int x = 10;
int y = 3;
float z = x/y;//自动类型转换
System.out.println("z="+z);
float z1 = (float)x/y;//强制类型转换
System.out.println("z="+z1);

输出结果:

z=3.0

z1=3.3333333

4.又联系到字符类型和数据类型转换,也大概写一下。

4.1字符类型转换成整型。

String x = "12";
int y = Integer.parseInt(x);
String str = "12";
int b = Integer.valueOf(str).intValue();

***注意:上述两种方法都不能定义汉字、字母、符号。

4.2整型转换成字符型。

int i = 10;
String s = String.valueOf(i);
int i = 10;
String s = Integer.toString(i);
int i = 10;
String s = "" + i;

推荐阅读