`
stta04
  • 浏览: 112834 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

插曲一 解决-source 1.4 中不支持注释和泛型问题

    博客分类:
  • jbpm
阅读更多

转载:Eclipse中报错的解决方案<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Eclipse中报错要了解详细信息,请使用-xlint:unchecked重新编译的解决方案

1、遇到问题

ant执行jasperreportsamples\charts示例的build.xml时,无法编译,提示错误如下:
javac:
[javac]Compiling2sourcefilestoE:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts
[javac]
注意:E:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts\ChartsApp.java使用了未经检查或不安全的操作。
[javac]
注意:要了解详细信息,请使用-Xlint:unchecked重新编译。

2、查了一下资料,知道是泛型的原因,网上查到的解决方案主要有以下几种

1.编译时带上参数-source1.4
2.
使用@SupressWarnings("unchecked")注释
3.
更新你的代码,使用List<Object>.List<Object>的实例能接受任何类型的对象,就像是一个原型List。然而,编译器不会报错。
(
以上三种方法来源:http://www.matrix.org.cn/resource/article/43/43634_java_generics.html

4.
如果你用的Ant,使用build.xml编译的话,可以右击build.xml文件,
-->
执行-->构成和执行,选择参数,在《程序参数》里面输入-xlint:unchecked即可;

5.
找到build.xml里面类似的语句,加上一句话:
<!--JavaCompile-->
<targetname="compile"depends="init">
<javacsrcdir="src"destdir="${classdir}"
deprecation="on"encoding="Windows-31J"debug="on"includes="**/jp/**">
<compilerargvalue="-Xlint:unchecked"/>`<!--
就是这句话!!-->
<classpathrefid="project.class.path"/>
</javac>
</target>
(以上两种方法来源:http://www.itwenku.com/java/12/47796.htm

3、自己的试验与结论

第一种:

编译时带上参数-source1.4”使用方法:
找到build.xml里面类似的语句,加上一句话:
<javacsrcdir="${src.dir}"destdir="${classes.dir}">
<classpathrefid="classpath"/>
<compilerargline="-source1.5"/>`<!--
就是这句话!注意与第五种方式不同的是line标签而不是value-->
</javac>
编译通过,charts下的报表出现了!

第二种:
使用@SupressWarnings("unchecked")注释
ChartsApp.javamain函数前加上了这个注释,但是没有起作用,提示错误依然是“[javac]注意:要了解详细信息,请使用-Xlint:unchecked重新编译。,怎么回事呢?

在一篇文章中找到了答案:
http://www.matrix.org.cn/resource/article/43/43864_Generic_Types.html
在撰写本文时候,javac并不支持@SuppressWarnings的注解。期望在Java5.1中得到支持。

第三种:
更改代码为泛型使用方式:
原来的代码:
Mapparameters=newHashMap();
parameters.put("MaxOrderID",newInteger(12500));

更改后的代码:
Map<String,Integer>parameters=newHashMap<String,Integer>();
parameters.put("MaxOrderID",newInteger(12500));
或者:
Map<Object,Object>parameters=newHashMap<Object,Object>();
parameters.put("MaxOrderID",newInteger(12500));

更改后,顺利通过编译,也能看到报表了!!

第四种:
经验证无效;

第五种:

<javacsrcdir="src"destdir="${classdir}"
deprecation="on"encoding="Windows-31J"debug="on"includes="**/jp/**">
<compilerargvalue="-Xlint:unchecked"/>`<!--
就是这句话!!-->
<classpathrefid="project.class.path"/>
</javac>

加上"<compilerargvalue="-Xlint:unchecked"/>"后,出现"警告",不过编译顺利通过,也能看到报表了!
编译提示如下:
[javac]Compiling2sourcefilestoE:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts
[javac]E:\jiangcm\workspace-forict-myeclipse\jasperreports\demo\samples\charts\ChartsApp.java:115:
警告:[unchecked]对作为普通类型java.util.Map的成员的put(K,V)的调用未经检查
[javac]parameters.put("MaxOrderID",newInteger(12500));
[javac]^
[javac]1
警告

呵呵,答案是丰富多彩的,条条大道通罗马,这次不仅解决了问题,还找到了四种解决问题的方法。

分享到:
评论

相关推荐

    JAVA设计模式--程序设计--反射--注解--泛型

    JAVA设计模式--程序设计--反射--注解--泛型

    Generic_2(泛型类-泛型方法-泛型接口-泛型限定(上限)

    这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”...

    泛型学习和泛型接口和泛型经典示例

    泛型学习和泛型接口和泛型经典示例

    java中的泛型-详细

    Java中的泛型 JDK1.5 令我们期待很久,可是当他发布的时候却更换版本号为5.0。...而泛型也是一样的,这样写class Java_Generics,V>,这里边的K和V就象方法中的参数str1和str2,也是可变。下面看看例子:

    解决JBuilder2006中JSP不能使用泛型的问题

    在JBuilder2006中默认JDK1.5+Tomcat5.5.9,但是在JSP页面中却不能使用泛型。应该说泛型是JDK1.5之后有的,但是在Servlet中却可以使用。why? 查了很多资料,都没有解决,有说在Tomcat/common/lib中加入ant.jar,...

    泛型dao 泛型dao 泛型dao

    如果你真能只用一个dao解决,那么祝贺你,你得到了一个虚拟数据层(高度抽象的数据接口)。这是一个比dao更高级的存在。 欢迎大家指正 -_- 虚心求教 代码层次: bean--&gt;dao--&gt;service--&gt;action 技术概述:1....

    泛型和泛型集合类用法

    泛型和泛型集合类用法泛型和泛型集合类用法泛型和泛型集合类用法泛型和泛型集合类用法泛型和泛型集合类用法

    C# 2.0中泛型编程思想分析

     本文讨论泛型使用的一般问题,比如为什么要使用泛型、泛型的编写方法、泛型中数据类型的约束、泛型中静态成员使用要注意的问题、泛型中方法重载的问、泛型方法等,通过这些使我们可以大致了解泛型并掌握泛型的一般...

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

    泛型类、泛型方法、泛型接口、泛型委托 泛型类、泛型方法、泛型接口、泛型委托

    JAVA-泛型课件-泛型课件

    个人制作且上课使用的课件,希望对大家初步了解泛型相关内容有一定的帮助。个人制作且上课使用的课件,希望对大家初步了解泛型相关内容有一定的帮助。

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

    泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。...本课程将着重介绍C++/CLI中的“运行时泛型编程”,并将它们和“编译时泛型编程”做横向的对比。

    C#泛型集合与非泛型集合

    在.NET FCL为我们提供了很多...结论:如果在C#2.0版本以上,尽量使用泛型集合类,而不使用非泛型集合类。因为,1. 泛型编程是从c#2.0开始才被.net支持的。2.泛型集合在性能和类型安全方面优于非泛型集 合。 。。。。

    尚硅谷-实验1:集合中使用泛型.pdf

    ·课程中,Eclipse和IDEA这两种企业一线开发环境都使用到了 3.技术讲解更深入、更全面: ·课程共30天,715个知识视频小节,涉及主流Java使用的方方面面,全而不冗余 ·全程内容涵盖数据结构、设计模式、JVM内存...

    C++程序设计与实践:11-模板和泛型编程.ppt

    C++程序设计与实践:11-模板和泛型编程.ppt

    C#学习之路--泛型

    包含代码,实验案例,课件(泛型的基本概念、泛型的定义和类型参数、泛型类和泛型接口,泛型委托和泛型事件)

    超全面javaweb教程第7天- 07 泛型方法和泛型类的使用

    超全面javaweb教程第7天-_07_泛型方法和泛型类的使用

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

    泛型的知识,请自己参考吧。主要介绍java泛型的知识。

    泛型集合泛型集合泛型集合

    泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合泛型集合解释的非常好泛型集合泛型集合

    泛型笔记.pdf

    1;继承一个泛型类时,必须为其传递泛型参数 public class Father,V&gt; -------整个叫泛型 ...5:一个泛型子类继承一个泛型父类时,父类 的站位符是之前定义好的参数,不可以出现其他占位符 知识点 B:

Global site tag (gtag.js) - Google Analytics