`
iliuyong
  • 浏览: 144723 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

用ant编译时碰上 泛型的错误

    博客分类:
  • java
阅读更多

http://iliuyong.iteye.com/blog/1003127

net\simpleframework\web\page\component\AbstractEntityBeanHandle.java:80:
无法确定 <T>T 的类型参数;
对于上限为 T,net.simpleframework.ado.bean.IDataObjectBean 的类型变量 T,
不存在唯一最大实例
             return getEntityBeanById(compParameter,compParameter.getRequestParameter(getIdParameterName(compParameter)));

 1 错误

 

以上错误用eclipse编译无异常,而用ant编译就提示错误,不知二者有何区别,暂记下来

 

当前解决方法:

改成

@SuppressWarnings("unchecked")


	@Override


	public <T extends IDataObjectBean> T getEntityBeanByRequest(


			final ComponentParameter compParameter) throws Exception {


		return (T)getEntityBeanById(compParameter,compParameter.getRequestParameter(getIdParameterName(compParameter)));





	}



不过觉得解决方法不好,请路过者指点给好的方法,不胜感激
分享到:
评论
4 楼 yunnysunny 2013-09-01  
yunnysunny 写道
怀疑ant有bug
protected boolean runTreeItem(ZLTree<?> tree)
{
if (super.runTreeItem(tree))
{
return true;
}
openBookText((TOCTree) tree);
return true;
} 

这段代码中ZLTree是TOCTree的父类,但是编译的时候提示:
[javac] E:\kuaipan\code\perl\complie\comm\src\org\android\zjreader\TOCActivity.java:150: 不可转换的类型
    [javac] 找到: org.zlibrary.core.tree.ZLTree<capture#561 of ?>
    [javac] 需要: org.zjreader.bookmodel.TOCTree
    [javac]  openBookText((TOCTree) tree);
两个类的定义:
public abstract class ZLTree<T extends ZLTree<T>> implements Iterable<T>
public class TOCTree extends ZLTree<TOCTree>
不知道楼主有没有解决思路。

找到答案了,不用javac,而用jdt来编译,就可以了,参见:http://swbssd.iteye.com/blog/1166252
3 楼 zh_harry 2013-08-28  
怕就ant 的问题
强转一下吧,ant编译更严格了
其实要求严格点还是好的
2 楼 xnfzr 2012-05-30  
这个bug还没解决呢 详看https://issues.apache.org/bugzilla/show_bug.cgi?id=52691
1 楼 yunnysunny 2012-03-02  
怀疑ant有bug
protected boolean runTreeItem(ZLTree<?> tree)
{
if (super.runTreeItem(tree))
{
return true;
}
openBookText((TOCTree) tree);
return true;
} 

这段代码中ZLTree是TOCTree的父类,但是编译的时候提示:
[javac] E:\kuaipan\code\perl\complie\comm\src\org\android\zjreader\TOCActivity.java:150: 不可转换的类型
    [javac] 找到: org.zlibrary.core.tree.ZLTree<capture#561 of ?>
    [javac] 需要: org.zjreader.bookmodel.TOCTree
    [javac]  openBookText((TOCTree) tree);
两个类的定义:
public abstract class ZLTree<T extends ZLTree<T>> implements Iterable<T>
public class TOCTree extends ZLTree<TOCTree>
不知道楼主有没有解决思路。

相关推荐

    泛型java的泛型知识,非常有用

    泛型允许我们在类、接口和方法中使用类型参数,这样在编译时期就能检查类型匹配,减少运行时类型转换异常。 1. **泛型的基本概念** - 泛型的本质是在类、接口或方法中使用类型参数,让它们能够处理多种数据类型。...

    C#泛型类、泛型方法、泛型接口、泛型委托的实例

    类型参数是在定义类时使用的占位符,实际的类型在创建类的实例时指定。例如,我们可以创建一个名为`GenericContainer&lt;T&gt;`的泛型类,其中`T`就是类型参数。这个类可以存储任何类型的对象,但具体类型在实例化时确定。...

    VC++ 2005:泛型编程

    编译时泛型类似于C++中的模板,通过编译时实例化来处理不同类型,而CLI泛型则在运行时进行实例化,这使得泛型类型的实例化延迟到JIT编译阶段,从而避免了可能的代码膨胀问题,并且提供了丰富的元数据用于反射。...

    VC++ 2005(7):泛型编程

    泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。而CLI借自己强大的元数据系统,选择了运行时的模板实例化来支持泛型编程。C++/CLI在保留ISO-C++...

    JAVA-泛型课件-泛型课件

    使用泛型后,在集合操作中添加元素时,编译器会检查元素的数据类型,确保类型的一致性,减少运行时的类型错误。同时,泛型还提高了代码的复用性,因为一个泛型类或方法可以适用于多种数据类型,而无需为每种数据类型...

    Java泛型类型擦除后的补偿

    - 例如,尝试向 `List&lt;String&gt;` 添加一个整数会导致编译错误,确保了类型安全。 3. **通配符**: - 为了弥补类型擦除,Java引入了通配符,如 `?` 和 `&lt;? extends T&gt;`,以提供更灵活的类型约束。 - 通配符允许...

    c# 泛型的使用,教你如何用泛型

    泛型允许我们在定义类、接口、委托和方法时,不指定具体的类型参数,而是使用一个占位符,如`T`、`K`等。这样,当我们实例化这些泛型类型时,可以传入任何类型的参数,从而实现泛型类型的实例化。例如,你可以创建一...

    jd-gui.exe反编译工具解决了jad.exe无法编译泛型的问题

    针对描述中提到的博客链接,虽然没有具体内容,但通常博主可能会分享如何使用JD-GUI来解决JAD在反编译泛型代码时遇到的问题,以及可能的步骤和技巧。这些可能包括: 4. 使用JD-GUI打开包含泛型的.class文件,查看和...

    Java泛型_Java中的泛型结构_

    - 由于类型擦除,泛型数组不能直接通过 `new T[10]` 创建,这会导致编译错误。 7. 泛型与多态: - 泛型类和泛型方法可以很好地与多态结合,如 `List&lt;? extends Animal&gt;` 可以接受 `Dog` 和 `Cat` 的列表。 - ...

    java 1.5泛型详解

    通过泛型,我们可以创建可重复使用的组件,这些组件能在处理不同数据类型时保持一致的行为,同时确保编译时的类型检查,避免了运行时的ClassCastException。 **二、泛型的优点** 1. **类型安全**:泛型确保了在...

    泛型用在类和方法上的写法

    泛型是Java编程语言中的一个重要特性,它引入了类型安全的概念,使得在编译时就能检查类型错误,而不是等到运行时。在类和方法上使用泛型,可以增强代码的可读性和复用性,避免类型转换的繁琐,并且提高了程序的效率...

    Java中的泛型

    // 编译错误 fruits.add(new Strawberry()); // 可能导致运行时错误 ``` #### 通配符 为了允许对不同类型但具有共同超类的泛型容器进行操作,Java引入了通配符(`?`),用于表示未知类型。 - **无界通配符**:`...

    关于java基础的泛型的练习

    泛型在编程中的应用广泛,特别是在集合框架中,使得我们可以在编译时就检查类型,避免了不必要的类型转换,并且提高了代码的重用性。下面将详细解释Java泛型的基本概念、使用方式以及相关的知识点。 1. 泛型的基本...

    泛型dao 泛型dao 泛型dao

    当应用中需要使用到上十张表时,DAO的维护变得日益困难,主要表现在这几个方面: 1)dao类的繁多,很多设计都是一个entity对应一个dao (不同的只有类名和方法名) 2)dao接口需要维护的method庞大。 3)业务逻辑...

    Java基础篇:泛型.pdf

    泛型是Java编程语言中用于减少类型转换错误和增强代码安全性的机制,它允许在定义类、接口和方法时使用类型参数。通过这种方式,可以在编译时期捕获那些只有在运行时期才会暴露的类型错误,提高了代码的健壮性。 ...

    java泛型指南 经典

    当我们在非泛型代码中使用泛型代码时,需要注意类型擦除的影响。例如,我们不能直接将一个泛型列表赋值给非泛型列表变量,除非使用通配符: ```java List&lt;String&gt; stringList = new ArrayList(); List rawList = ...

    SSH泛型代码实例

    泛型是Java SE 5.0引入的一个重要特性,它允许在编译时检查类型安全,并且所有的强制转换都是自动和隐式的,提高了代码的重用率。下面我们将深入探讨SSH框架中泛型的应用及其重要性。 1. **Spring框架中的泛型** -...

    泛型,泛型擦除,桥接方法

    1. 类型安全:使用泛型可以在编译时检查类型是否正确,从而避免出现类转换异常。 2. 自动转换:使用泛型可以避免强转,直接使用规定的泛型类接收数据。 3. 提升性能:使用泛型可以避免装箱和拆箱操作。 4. 可复用性...

Global site tag (gtag.js) - Google Analytics