
搂主很有想法,这涉及到你想得到多少种对象,虽然这个问题有点无聊,但也可以视为一个练习思维的例子。
首先,前提是不知道有哪些对象类型,以及其表现形式。
其次,2楼说的对,Java输入都是String。
因此,我们设计一下要做的事情:
1 提供一组对象类型名称和判断方法的注册列表。
2 对给定的String,按照注册列表中的判断方法逐一执行,假如有返回成功的,就打印“这是。。。”。
好了,这就是思路,假如要硬往设计模式上套,可以套Command Chain
主要是判断方法,那么就把它定义成一个借口:
interface TypeStringChecker
{
String getTypeName () ;
boolean isInstanceOf (String textValue)
}
完美一点,利用所谓的工厂创建模式,可以使用反射机制,从配置文件里读出来类型名称,并创建实例: TypeStringChecker [] checkerList ;
检查时的代码:
CheckString (String textValue)
{
foreach checker in checkerList
{
if (checkerisInstanceOf (textValue))
print ("[" + textVaue + "] is instance of : " + chcekergetName ());
}
print ("Unsupported Type Or this is a String [" + textVaue + "] ) ;
}
比如编写一个整数的判断,就可以用:
boolean isInstanceOf (String text)
{
try
{
IntegerparseInt (text) ;
}
catch (Throwable e) {return fasle ;}
return true ;
}
进一步的,假设复杂一点的Point,表现形式是:x,y。那么就可以写一个类来判断。
可以参考WebWork中的类型转换器阿。
呵呵,有趣的问题。
java后台代码,可以通过file类型的name值,从请求报文中获取到文件选择框file的值,格式如下:requestgetParameter("name"),测试代码如下:
在第一个页面jsp中:
<form action="test2jsp" method="post" name=""><input type="file" name="name" size="30" />
<input type="submit" name="sub" value="提交" />
第二个jsp页面中:
<body><%
String file=requestgetParameter("name");
outprintln(file);
%>
</body>
打印出的就是file文件选择框的值。
使用getClass方法可以获取一个对象的类型类,然后在调用该类的方法可以获取该类的相关信息,比如父类的名字,该类的名字等等:
package test;import javalangreflectField;
import javalangreflectMethod;
public class Demo2 {
String username = "sss";
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException, NoSuchMethodException {
Demo2 t = new Demo2();
if (Demo2class == tgetClass()) {
Systemoutprintln("equal");
}
// 获取类名
Systemoutprintln(tgetClass()getName());
// 获取父类名
Systemoutprintln(tgetClass()getSuperclass());
//获取类中某个属性
Field f = tgetClass()getField("username");
//获取类中某个方法
Method m = tgetClass()getDeclaredMethod("main", String[]class);
}
}
以上就是关于java中判断输入对象类型全部的内容,包括:java中判断输入对象类型、Java jsp页面的input输入框file类型在Java后台代码怎么取得,急!急!急!、java 获取对象的数据类型的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)