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

Posted

tags:

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

比如有个变量a,现在不知道是什么类型的,可能是char,int,double什么的,我知道instanceof是判断对象的类型的,但是如果写成:
if(a instanceof char)之类的编译器会报错,说char后面应该跟什么变量之类的,instanceof应该是判断对象是不是某个类的对象的,那么如果char等不是类的该如何判断呢,是用Integer之类的类吗?
我知道要声明,但是想知道有没有类似判断对象的那种判断变量的方法。

哥们。。

一般没有在程序里才去判断这个《是什么类型的》。。。 而且这样没有意义。

因为类型太多了。 一般都是判断《不是什么类型》 就会用你说的instanceof做一个if判断。

若想知道一个出现的对象是什么类型。 要是你想用程序识别的话 你就需要用到映射了。

这个一两句说不清。 若是你本人读代码想知道什么类型。 那就按CTRL+ 鼠标点击该对象。。

额 LZ若真想在程序里判断。 只好去看看映射的东西了
参考技术A 这里首先你要搞清楚instanceof 的用法: java
中的instanceof
运算符是用来在运行时指出对象是否是特定类的一个实例。instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。也就是说这个用法是针对对象的
,而这里则是变量。所以不能用。
基本型别的变量,你要是不知道它的类型,你就根本没法使用它,换句话说,楼主的问题不存在前提,在不知道变量类型的前提下使用这个变量,Java 没这种语法。除非用反射,,建议看一下反射方面的知识。
参考技术B ......你新学的吧?
服了你了
变量用之前必须要声明
而char,int,double这些都是声明变量的关键字
举个例子
char a='你'
int b=10;
double c=20.0;
不是很明白你想问什么
要想看变量是什么类型直接看前面声明它的关键字就行了嘛
就像char a='你'中的a就是一个字符型数据了

Java 枚举类型中受保护的变量是啥意思? [复制]

【中文标题】Java 枚举类型中受保护的变量是啥意思? [复制]【英文标题】:Java what does a protected variable mean in enum type? [duplicate]Java 枚举类型中受保护的变量是什么意思? [复制] 【发布时间】:2018-08-26 20:44:03 【问题描述】:

在 Java 9 中,我可以编写如下代码:

enum Abc 
    A, B, C;
    static protected int foo = 4; // what is the purpose of the protected variables like this in enum?

我认为这没有意义,因为我们不能继承或实现枚举。

编辑:这个问题和Why are protected members allowed in final java classes?一样

【问题讨论】:

Java 8 也允许这样做。 如果我没记错的话,Protected 还允许访问包。不回答你的问题,只是说。 @MadPhysicist 它正好回答了这个问题。 这个问题不能重复。请删除此标记。我在问枚举类型。 @Makoto 从 Java 5 开始就有可能,当时引入了 enum 类型。忽略这是一个enum 的事实,您可以编写具有过时的protected 修饰符的/* not public */ class Abc static protected int foo = 4; ,因为Java 1.0... 【参考方案1】:

这就是它的含义:只能从同一个包中的子类或类访问。你是对的,因为你不能继承这个类,它实际上与包私有字段没有任何不同。

【讨论】:

对变量使用protected 修饰符是正确的选择吗?也许没有人在enum 中将这个修饰符用于变量。对吗? 如果它做你想做的,这是一个正确的选择。 :-) 我同意在风格上,包私有可能更好。

以上是关于在java中,怎样判断一个变量是啥类型的?的主要内容,如果未能解决你的问题,请参考以下文章

java中一个类是不可变类的条件是啥?求详细解答。

java引用类型的类型转换规则是啥?

bool是啥类型

bool是啥类型

bool是啥类型?

java怎么判断一个数据是啥类型