转载:Eclipse中报错的解决方案<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Eclipse中报错“要了解详细信息,请使用-xlint:unchecked重新编译”的解决方案
用ant执行jasperreport的samples\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)
第一种:
“编译时带上参数-source1.4”使用方法:
找到build.xml里面类似的语句,加上一句话:
<javacsrcdir="${src.dir}"destdir="${classes.dir}">
<classpathrefid="classpath"/>
<compilerargline="-source1.5"/>`<!--就是这句话!注意与第五种方式不同的是line标签而不是value!-->
</javac>
编译通过,charts下的报表出现了!
第二种:
“使用@SupressWarnings("unchecked")注释”:
在ChartsApp.java的main函数前加上了这个注释,但是没有起作用,提示错误依然是“[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警告
呵呵,答案是丰富多彩的,条条大道通罗马,这次不仅解决了问题,还找到了四种解决问题的方法。
分享到:
相关推荐
1. **不支持JDK 1.5的特性**:JD-GUI 1.4无法处理JDK 1.5引入的某些特性,如泛型、枚举、匿名内部类的改进等。这些在反编译过程中可能显示为原始类型或者无法完全还原。 2. **不支持JDK 1.7的自动关闭流特性**:在...
这在JDK 1.4中是不支持的,因此1.5编译的类如果使用了泛型,在1.4环境中运行可能会导致错误。 2. **枚举(Enums)**:JDK 1.5引入了枚举类型,这是一种预定义常量的类。在1.4中,枚举通常通过常量静态变量实现,...
这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”...
首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的经验总结。设计模式包括创建型模式(如单例、工厂方法、抽象工厂等)、结构型模式(如适配器、装饰器、代理等)和行为型模式(如策略、观察者、...
这些文件是Apache Commons库的一部分,其中包括`commons-collections-3.2.1.jar`,`commons-dbcp-1.4.jar`和`commons-pool-1.6.jar`。Apache Commons是一个Java项目,旨在提供一系列高质量、实用的组件,以促进软件...
泛型是Java语言的一个重要特性,首次出现在Java SE 1.5版本中。它的引入主要是为了解决在集合操作中类型安全性的问题,并...在现代Java程序中,泛型已经成为了一项不可或缺的技术,广泛应用于各种类库和应用程序中。
然而,在2.4.1版本发布时,它默认支持的Java环境可能较高,不适用于仍运行在JDK 1.4环境的项目。本文将深入探讨如何通过对源码进行修改,使FCKeditor-java-2.4.1兼容JDK 1.4。 首先,我们需要理解JDK 1.4与更高版本...
Java泛型的出现解决了Java早期版本中类型安全检查的缺陷。Java泛型的好处是可以在编译期检查类型安全,避免了运行时的ClassCastException。 Java泛型的类型安全检查 ------------------------ Java泛型的类型安全...
泛型是Java语言中的一种重要机制,引入泛型解决了早期Java版本中类型不安全的问题,提高了Java语言的开发效率和安全性。开发者需要了解泛型的基本概念、作用、应用和注意事项,以便更好地使用泛型提高代码的质量和...
**XStream 1.4 API 深度解析** XStream 是一个强大的 Java 库,它的主要功能是将 Java 对象序列化为 XML,并能够从 ...在实际项目中,结合文档和 `xstream-1.4-API` 中的示例,你将能够更深入地理解和应用 XStream。
在Java编程语言中,泛型和反射是两个非常重要的特性,它们在软件开发中有着广泛的应用。本篇文章将深入探讨这两个概念以及它们在实际开发中的小运用。 首先,我们来看泛型(Generics)。泛型是在Java SE 5.0引入的...
泛型允许我们在类、接口和方法中使用类型参数,这样在编译时期就能检查类型匹配,减少运行时类型转换异常。 1. **泛型的基本概念** - 泛型的本质是在类、接口或方法中使用类型参数,让它们能够处理多种数据类型。...
泛型学习和泛型接口和泛型经典示例
Java反射机制是Java编程语言中的一个重要特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。...通过实际编写和运行代码,可以更好地掌握这些概念,并提高问题解决能力。
- 引入了泛型的早期预览,虽然不完全支持,但为后来的Java SE 5.0的泛型打下了基础。 - 引入了NIO(New I/O)库,提供了非阻塞I/O操作,提高了网络和文件系统的处理性能。 - 提供了更强大的异常处理机制,使得错误...
例如,1.2版本添加了对URL编码的改进,1.3增加了对ISO-8859-1的支持,1.4引入了线程安全的Base64编码器和解码器,而1.5开始支持Java 5的泛型。 6. **国际化与本地化**: - 随着版本的升级,Apache Commons Codec...
在“C#学习之路--泛型”这个主题中,我们将深入探讨泛型的基本概念、泛型的定义和类型参数、泛型类和泛型接口,以及泛型委托和泛型事件。 **泛型的基本概念** 泛型是C# 2.0引入的一个新特性,它的核心思想是推迟...
在Java编程语言中,"java不支持创建泛型数组(1)"这个标题揭示了一个重要的概念,即Java不直接允许我们创建带有类型参数的泛型数组。这是因为Java的泛型是类型擦除的,这意味着在编译后,所有的泛型信息都会被移除,...
在C#编程中,泛型是一种强大的工具,它允许我们编写可重用的代码,同时保持类型安全性和高效性。本文将深入探讨泛型类、泛型方法、泛型接口和泛型委托,并通过实例来阐述它们的应用。 首先,我们来看泛型类。泛型类...