「java获取变量类型」java引用类型变量

博主:adminadmin 2023-01-20 20:33:09 415

今天给各位分享java获取变量类型的知识,其中也会对java引用类型变量进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java中怎么知道一个变量的类型

你可以先把a向上转型成object对象

然后通过调用 object里的getclass()方法来得到其类型信息

用你的例子来说:

int

a

=

0;

object

obj

=

(object)

a;

system.out.println(obj.getclass().getsimplename());

======================================

输出结果:

integer

这样就能知道变量名的类型

当然,如果你的变量不是值类型,而是引用类型,

那直接调用getclass()方法就可以了,不需要做向上转型

Java中怎样判断一个变量是否属于哪种类型

变量类型识别有3种方法:

1、通过反射拿到变量的类型;

2、instanceof关键字判断;

3、通过java的多态(方法重载)来DIY类型识别。

举例如下:

package com.cxyapi.oo;  

  

/** 类型识别工具测试类 

 * @author cxy @  

 */  

public class TypeToolsTest  

{  

    public static void main(String[] args)  

    {  

        int i=0;  

        TypeObject to=new TypeObject();  

        //1.反射  

        System.out.println("to的类型:"+to.getClass().getSimpleName());  

        System.out.println(int.class.getSimpleName());  

        System.out.println(Integer.class.getSimpleName());  

        //但是对于一个不确定类型的基本数据类型变量我们没法用反射来获取其类型。  

        System.out.println("----------------------");  

          

        //2.instanceof  

        if(to instanceof TypeObject){ System.out.println("to是TypeObject类型的");}  

        //但是这种办法貌似也没法确定基本数据类型  

        System.out.println("----------------------");  

          

        //以上两种方式对于对象,引用类型的都很好用,但是对基本数据类型就不那么好用了。  

        //3.通过多态(方法的重载)  

        System.out.println("i是:"+TypeTools.getType(i));  

        System.out.println("to是:"+TypeTools.getType(to));  

        System.out.println("\"cxyapi\"是:"+TypeTools.getType(""));  

        //可以看出来 最后一种方式使用多态的方式达到了检测类型(基本类型和引用类型)的目的  

        //除了弥补其他两种方式不能检测基本数据类型的不足在外,还能自己DIY类型信息  

    }  

}  

  

//定义一个类,为了演示引用类型的类型检测  

class TypeObject{}

自定义的类型识别工具:

package com.cxyapi.oo;  

  

import java.util.HashMap;  

import java.util.Map;  

  

/** 类型识别工具 

 * @author cxy @  

 */  

public class TypeTools  

{  

    //获得类型  

    public static MapString,String getType(Object o)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", o.getClass().getSimpleName());  

        typeInfo.put("描述", "引用类型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(int i)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "int");  

        typeInfo.put("描述", "整形");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(long l)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "long");  

        typeInfo.put("描述", "长整型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(boolean b)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "boolean");  

        typeInfo.put("描述", "布尔类型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(char b)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "char");  

        typeInfo.put("描述", "字符");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(float f)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "float");  

        typeInfo.put("描述", "单精度浮点型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(double d)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "double");  

        typeInfo.put("描述", "双精度浮点型");  

        return typeInfo;  

    }  

      

    public static MapString,String getType(String s)  

    {  

        MapString,String typeInfo=new HashMapString,String();  

        typeInfo.put("类型", "String");  

        typeInfo.put("描述", "字符串类型");  

        return typeInfo;  

    }  

      

}

java同一个包下获取另一个类中的变量

这得看b中变量x的类型,

如果x是public类型,那么通过new b().x 就能得到

如果没写或者是protected,a必须和b在同一个包下面才行

java变量的类型都是一个类吗

不是

“Java的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,以下是具体的说明。”

java中哪个函数可以查看变量类型?

Class class=class.forName("");得到包含变量的类(""类名称)

Field f=class.getDeclaredField("");得到变量(""变量名)

f.getType();得到变量类型

北大青鸟设计培训:Java变量和数据类型?

1.变量:用来存储数据,值可以改变使用变量3步骤:1)变量的声明intnum;2)变量的赋值num=5;3)使用变量num=num+1;其中第一步和第二步可以合二为一  intnum=5;关键字:系统预留的一些名字,北大青鸟建议起的名字不可以和关键字同名变量的命名规则:1)首字母:字母,$,_  其他,字母,$,_,数字2)驼峰命名法 stuAge3)见名知意2.数据类型基本类型和引用类型基本类型:boolean, byte,short,char,int,long  ,float,doubleshort:-2^15~2^15-1整型进制转换:十进制转二进制:除二取余  余数倒置15/2=7  ...17/2=3  ....13/2=1 ....11/2=0 ....114/2=7...07/2=3....13/2=1...11/2=0...1二进制转十进制:每一位乘以2的(位数-1)次方相加的和11101*2^(4-1)+1*2^(3-1)+1*(2^2-1)+0*(2^1-1)=14负整数的二进制表现形式:对应的正整数二进制取反+1-3        +1反向:如果第一位(符号位)是1,则转换:取反+1,算出对应的正整数数值,再加负号          +1         3         -3

关于java获取变量类型和java引用类型变量的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。