java 类型转换前先做检查

1.传统的类型转换由RTTI确保正确性。

2.instanceof关键字(二元操作符) ,返回一个Boolean值,告诉我们对象是不是某个类或该类派生类的实例,他判断的是类型。

if (a instanceof A) //对象a是不是属于A类型,A可能是a父类的父类,如果是这样也返回true

3.instanceof 不能比较Class对象,对于Class对象使用isAssignableFrom()判断

if (as.isAssignableFrom(cs))// Class对象cs所在类是不是属于Class对象as所在类或者派生类 

4.动态的instanceof :Class对象的isInstance(Object o)方法判断该Class对象是不是o类的(如果o是class对象所在类则返回true,否则返回false哪怕o是所在类的父类)。

if (cs.isInstance(c)) //如果c是class对象所在类则返回true,否则返回false,哪怕c是所在类的父类

原文地址:https://www.cnblogs.com/jiangfeilong/p/10354019.html

时间: 2024-11-05 19:45:22

java 类型转换前先做检查的相关文章

14章类型信息-之类型转换前先做检查--之instanceof

instanceof用法: 对于instanceof有比较严格的限制,只可将其与命名类型进行比较,而不能与class对象做比较. 理解:这里所说的就是像if(pet instanceof Mutt)        counter.count("Mutt");这里的Mutt,不能用对象比较,只能用类名,比如(Mutt mutt = new Mutt()然后用mutt)或者 Mutt.class就不行了, 实例代码: 实体类父类: //: typeinfo/pets/Individual.

java 类型转换

在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结.常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等.下面对这些方法一一进行分析.方法1:采用 Object.toString()方法请看下面的例子:      Object object = getObject();System.out.println(object.toString()); 注1在这种使用

xcode中加入声音文件前所做的步骤

1创建工程 2选中工程 然后选中中间图示的“build Phases”第五个按钮 放开带三个选项“ 并点击加号 选中AudioToolbox.framework,并add. 记得在要用声音的文件中加入头文件 #import<AudioToolbox/AudioToolbox.h>. xcode中加入声音文件前所做的步骤,布布扣,bubuko.com

java Map使用Object 做为Key的问题

近期在看dnsjava 源码的时候,不经意间发现一个自己没有想过的问题: HashMap 如何使用key去查找对应的value的,这个问题很难用语言描述的清楚,那就使用代码来进行说明吧! public class test { public static void main(String[] args) { a aa = new a(); b bb = new b(); Map<Object,Object> c = new HashMap<Object,Object>(); c.p

java 获取前几天时间

java   获取前几天时间 一.toLocaleString()函数过时: //当前时间   Date endDate=new Date();   String endTime=endDate.toLocaleString();      //开始时间   Calendar calendar=new GregorianCalendar();   calendar.setTime(endDate);       calendar.add(calendar.DATE,-day);//把日期往后增加

读书笔记:父母离去前要做的55件事

读书笔记:父母离去前要做的55件事 <父母离去前要做的55件事>这本书早就读完了,把这些事记在OmniFocus中,寻找机会去完成一些适合完成的事情.有些事可能并不适合自己的父母,但父母的年纪毕竟大了,珍惜这段时间,不让自己在将来留下太多的遗憾. 给父母捶背 记录下父母对你的爱 整理那些儿时最珍爱的礼物 为父母做饭 教父母发短信.父母从没有用过手机,他们过生日时给买过一个音乐播放器,声音非常大,可以晨练时用,可惜选曲的操作相当复杂,还必须在规定的时间内操作完,2012年6月10日耐心地教爸爸使

JAVA 类型转换:隐式转换与强制转换

  这篇随笔是对java类型转换的回顾,方便忘记的时候查询,同时希望帮助有这方面需要的朋友 一. 数据类型分类: 简单数据类型:整型.实型.字符型((byte-short-char)-int-long-float-double) 二.简单类型转换 (1)低级向高级转换---自动转换:隐式转换 byte i = 0;        int a =i;        long b = i;        float c =b;        double d =c;        short j =

转 Java类型转换

原文链接:http://www.cnblogs.com/lwbqqyumidi/p/3700164.html 基本数据类型共有8种,分别是:布尔型boolean, 字符型char和数值型byte/short/int/long/float/double.由于字符型char所表示的单个字符与Ascii码中相应整形对应,因此,有时也将其划分到数值型中.引用类型具体可分为:数组.类和接口.因此,本文中Java类型转换的总结也将分为基本数据类型和引用数据类型两个方面展开. 一.基本数据类型的类型转换 基本

Andoid java文件中的Log检查工具

AndroidLogChecker 由于发布软件版本的时候我们需要把Log注释掉,此工具可以检查java类中的Log所在行以及是否已经注释. Github: https://github.com/cumtkangyi/AndroidLogChecker package com.leo.kang.tools; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; impor