J2SE论坛网»J2SE技术»从文件中读出一个Object,怎样知道这个Object具体是什么类型(有代码),只能用Instanceof吗?
从文件中读出一个Object,怎样知道这个Object具体是什么类型(有代码),只能用Instanceof吗?
问?:
从下面函数读出一个Object
public static Object readAnObjectFormAFile(String filepath)
{
File file = new File(filepath);
Object obj = null;
if (file.exists() == false)
return null;
try
{
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
obj = ois.readObject();
ois.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
return null;
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
return null;
}
return obj;
}
请问怎样才可以知道这个Object具体是什么类型.
是不是要用if(obj instanceof String)这类的方法来得到?
如果读出的是Set,Map这类的,怎样知道Set和Map的key和Value是什么类型?
public static Object readAnObjectFormAFile(String filepath)
{
File file = new File(filepath);
Object obj = null;
if (file.exists() == false)
return null;
try
{
FileInputStream fis = new FileInputStream(file);
ObjectInputStream ois = new ObjectInputStream(fis);
obj = ois.readObject();
ois.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
return null;
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
return null;
}
return obj;
}
请问怎样才可以知道这个Object具体是什么类型.
是不是要用if(obj instanceof String)这类的方法来得到?
如果读出的是Set,Map这类的,怎样知道Set和Map的key和Value是什么类型?
答!: 1:
你可以先用instanceof来比较是哪一个类的实例
然后可以通过反射机制来知道更为详细的内容
然后可以通过反射机制来知道更为详细的内容
答!: 2:
你可以先用instanceof来比较是哪一个类的实例
然后可以通过反射机制来知道更为详细的内容
----------------------------------------------------------
如果我不知道是哪个类的实例,那我是不是要试过java中的所有类?
然后可以通过反射机制来知道更为详细的内容
----------------------------------------------------------
如果我不知道是哪个类的实例,那我是不是要试过java中的所有类?
答!: 3:
obj.getClass().getName()
答!: 4:
如果是泛型的,要怎样返回Hashtable<>中<>的内容?
答!: 5:
如果是泛型的,要怎样返回Hashtable<>中<>的内容?
答!: 6:
晕,知道就知道,不知道也不需要知道
答!: 7:
Hashtable<>,这个尖括号在运行期间没有任何用,它只在编译期间检查而已。--------我不记得是不是这样。
obj.getClass()就是对的。
obj.getClass()就是对的。
答!: 8:
Hashtable<>,这个尖括号在运行期间没有任何用,它只在编译期间检查而已。--------
-----------------------------------------------------------------------------
是这样吗?
-----------------------------------------------------------------------------
是这样吗?
答!: 9:
Hashtable<>,这个尖括号在运行期间没有任何用,它只在编译期间检查而已。--------
-----------------------------------------------------------------------------
是这样吗?
-----------------------------------------------------------------------------
是这样吗?
答!: 10:
是这样,运行要取实际类型只能用getClass().getName
相关JAVA教程:
UUID格式的验证
Java 如何通过 SNMP 获取 window 的信息呢?
java.util.Timer和java.util.TimerTask的迷惑
急急,请教各位大虾:关于浏览器中的“后退”的按钮的疑问
『提问』java中怎样监视某个文件变化?
请问java如何定义一个无符号类型的变量啊
菜鸟简单问题 急急 分不够再加
怎样在其他页面引用一个input,急用
<jsp:include>与forward的问题,知者告之,不甚感激!
JavaMail怎么阅读收条
我想问下现在我想做个程序员都要掌握什么技术
现在在公司都用什么方式编程mvc结构吗