zoukankan      html  css  js  c++  java
  • 引用变量的强制类型转换:

    public class ConversionTest{
    	public static void main(String[] args){
    		//-基本类型之间的转换只能在数值之间进行
    		double d=13.4;
    		long l=(long)d;
    		System.out.println(l);
    		
    		//-数值类型和布尔类型之间不能进行转换
    		int a=5;
    		//-编译报错:不可转换的类型
    		//boolean b=(boolean)a;
    
    		//-String 类型为Object的子类型,所以可以转换
    		Object obj="张三";
    		String objstr=(String)obj;
    		System.out.println(objstr);
    
    		//-Object类型为Integer的父类型,所以可以这样定义
    		Object objint=new Integer(5);
    		//-objint实际为Integer类型,与String类型不是父子继承类型的关系,所以转换运行会报错
    		//String str=(String)objint;
    		
    		//-如果写代码时不确定两个类型是否可以转换,
    		//-防止代码报错,可以在转换前用 instanceof 运算符判断是否可以转换,
    		//-根据返回结果再决定是否继续转换,用法如下:
    		if(objint instanceof String){
    			  String str=(String)objint;	
    		}
    		System.out.println(objint instanceof String);
    	}
    }

    运行结果:

    总结:

    1、基本类型之间的转换只能在数值之间进行,数值类型和布尔类型之间不能进行转换

    2、引用类型之间的转换只能在具有继承关系之间的类型间进行,若两个没有任何继承关系的类型之间无法进行转换,否则编译报错。

    3、如果写代码时不确定两个类型是否可以转换,防止代码报错,可以在转换前用 instanceof 运算符判断是否可以转换,根据返回结果再决定是否继续转换,用法如下:

    if(objint instanceof String){
    	String str=(String)objint;	
    }
    System.out.println(objint instanceof String);
    

    运行结果如上

  • 相关阅读:
    Centos下安装JAVA
    发布app到appstore的详细步骤
    修改Struts2的struts.xml配置文件位置
    linux 打印当前进程环境变量
    软件复用
    用Delphi开发OPC客户端工具的方法研究
    位图显示地图
    idFTPserver控件实现的ftp 服务器
    电子地图概念
    Tidftp实现自动更新程序
  • 原文地址:https://www.cnblogs.com/baby-zhude/p/8035278.html
Copyright © 2011-2022 走看看