gpt4 book ai didi

java - 比较Java泛型时如何避免字符串硬编码?

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:09 24 4
gpt4 key购买 nike

有没有更好的方法可以将 Type 与 java generic 进行比较,而不是硬编码 String

在此方法中,我想将硬编码字符串交换为对该类的引用:

    @Override
public Object fromBody(TypedInput body, Type type) throws ConversionException {
if (!type.toString().equals("com.package.app.LstMdl<com.package.app.AdMdl>")) { //I would like not to use this String
//do sth
}
return super.fromBody(body, type);
}

我试着把它换成这个:

        @Override
public Object fromBody(TypedInput body, Type type) throws ConversionException {
if (!(type.equals(LstMdl.class) && ((LstMdl)type).data.getClass().equals(AdMdl.class))) {
//do sth
}
return super.fromBody(body, type);
}

但它不起作用。第一个解决方案工作正常,但是有什么方法可以做得更优雅吗?

最佳答案

试试这个:

if (!(type.equals(LstMdl.class) && ((ParameterizedType)type).getActualTypeArguments()[0].equals(AdMdl.class))) {

关于java - 比较Java泛型时如何避免字符串硬编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30505792/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com