java将String类型转换为泛型类型。 10

Class<?>c=Class.forName(typename);returnc.getClass().cast(value);这样写为嘛不对呢。。请教各位大侠了。。... Class<?> c=Class.forName(typename);
return c.getClass().cast(value);
这样写为嘛不对呢。。请教各位大侠了。。
展开
 我来答
ldy2822
2011-11-25 · TA获得超过230个赞
知道答主
回答量:188
采纳率:0%
帮助的人:107万
展开全部
Class<String> c=(Class<String>)Class.forName("String");
你写的代码我完全不能理解是什么意思 不知道你为什么要这么转换 也许你已经到了一个我无法理解的高度了 我认为String转换成泛型的话我会这么做
String s = "test";
List<String> sList = new ArrayList<String>();
sList.add(s);
追问
你这根本就没用到泛型。。
LOVE阿の佳
2012-02-24 · TA获得超过123个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:283万
展开全部
上面的好多都没看懂楼主的意思……
class xyz{}
public void A<T>(){....}
比如说:string b = "xyz";现在要调用A<xyz>()这个方法,但是我们只知道b这个string等于"xyz",怎么把"xyz"转换成为A方法中的T.
追问
恩,对的。。呵呵,就是这个意思。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
grace23450
推荐于2018-05-10 · TA获得超过1.3万个赞
知道大有可为答主
回答量:7081
采纳率:77%
帮助的人:2325万
展开全部
泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。
可以在集合框架(Collection framework)中看到泛型的动机。例如,Map 类允许您向一个 Map 添加任意类的对象,即使最常见的情况是在给定映射(map)中保存某个特定类型(比如 String)的对象。
因为 Map.get() 被定义为返回 Object,所以一般必须将 Map.get() 的结果强制类型转换为期望的类型,如下面的代码所示:
Map m = new HashMap();
m.put("key", "blarg");
String s = (String) m.get("key");
要让程序通过编译,必须将 get() 的结果强制类型转换为 String,并且希望结果真的是一个 String。但是有可能某人已经在该映射中保存了不是 String 的东西,这样的话,上面的代码将会抛出 ClassCastException。
理想情况下,您可能会得出这样一个观点,即 m 是一个 Map,它将 String 键映射到 String 值。这可以让您消除代码中的强制类型转换,同时获得一个附加的类型检查层,该检查层可以防止有人将错误类型的键或值保存在集合中。这就是泛型所做的工作。

String不可以转换泛型,泛型是一种广义的类型。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
6区klz的ms
2011-11-27 · 超过21用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:26万
展开全部
我也不知道 在此留下记号
其实单单执行 Class<?> c = Class.forName("String");
就会出找不到 String的异常 如果 typename换成 任意一个自定义的类型 就不存在这个问题
追问
额。。你当然要写成“java.lang.String”了,不然怎么能找到。不过最后还是用if else把类型给遍历了。也就无所谓参数了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daay1986
2011-11-25 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1472万
展开全部
你这么写等于是猜哑谜,人家是说你给他一个字符串他给你找一个类出来,你这么写等于是,故意装着不知道,让人家告诉你。
Class.forName就是你告诉我一个人的某一特征,我把你把这个人找出来,但是他肯定不知道这个人的名字,你倒好人家把人给你找来了,你问人家这个人是谁。你传一个字符串过去,你肯定知道这个类是谁。
追问
神那。。太绕了。。我是想把value这个字符串转换为名字为typename的类型。这里typename是个参数,不确定,不是故意不知道,是真的不知道。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式