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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中怎么知道一个变量的类型相关的知识,希望对你有一定的参考价值。

使用java反射技术就可以



public static void main(String[] args) 
Test test = new Test();
System.out.println(test.getClass().getSimpleName());

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法

利用反射可以完成很多很多功能

获取方法名

public class Test 
public void invoke()

public static void main(String[] args) 
Test test = new Test();
Class clazz = test.getClass();
Method[] methods = clazz.getDeclaredMethods();
for(Method method:methods)
System.out.println(method.getName());


参考技术A public static void main(String[] args)(
    //例如int
    int i = 1; 
    String type = getTypeFromObj(i);
    System.out.println(type);//打印出int值 
)
public staic String getTypeFromObj(Object o)

    //得到Object的所有属性,第一个就是类型type
    Field[] fileds = o.getClass().getDeclaredFields();
    String type = null;
    int i;
    for(i=0;i<fields.length;i++) 
      type = fields[i].getType().toString(); 
      break;
        
    return type; 
  

本回答被提问者和网友采纳
参考技术B 如下:
public static String do_post(String url, List<NameValuePair> name_value_pair) throws IOException 
        String body = "";
        DefaultHttpClient httpclient = new DefaultHttpClient();
        try 
            HttpPost httpost = new HttpPost(url);
            httpost.setEntity(new UrlEncodedFormEntity(name_value_pair, StandardCharsets.UTF_8));
            HttpResponse response = httpclient.execute(httpost);
            HttpEntity entity = response.getEntity();
            body = EntityUtils.toString(entity);
         finally 
            httpclient.getConnectionManager().shutdown();
        
        return body;
    
    public static String do_get(String url) throws ClientProtocolException, IOException 
        String body = "";
        DefaultHttpClient httpclient = new DefaultHttpClient();
        try 
            HttpGet httpget = new HttpGet(url);
            HttpResponse response = httpclient.execute(httpget);
            HttpEntity entity = response.getEntity();
            body = EntityUtils.toString(entity);
         finally 
            httpclient.getConnectionManager().shutdown();
        
        return body;
    

参考技术C obj.getClass().getName() 就能显示包名和类名 参考技术D 用反射。。不然就只能强转换挨个试了

python 中怎么查看数据类型

参考技术A

有时候我们需要知道变量类型,但不知道如何查看

内置函数isinstance(object, (type1,type2...))

isinstance('content', str)

返回True or False

使用内置函数type(object)

在介绍数据类型的文章中提到过,要怎么样查看对像的数据类型。type()就是一个最实用又简单的查看数据类型的方法。type()是一个内建的函数,调用它就能够得到一个反回值,从而知道想要查询的对像类型信息。

type使用方法

>>>type(1)    
<type 'int'>    #返回整形>>>type('content')
<type 'str'>    #返回字符串

type返回值属于type类型

>>>type(type(1))
<type 'type'>    #返回type类型

以上是关于Java中怎么知道一个变量的类型的主要内容,如果未能解决你的问题,请参考以下文章

你怎么知道java中的变量类型? [复制]

怎么使用java中的枚举方法

在java中,怎样判断一个变量是啥类型的?

Java——变量和数据类型

JAVA类类型强制类型转换失败,知道的告诉下,谢谢

JAVA中提示“意外的类型”啥意思,怎么解决?