- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有大量代码,但我收到了消息
Note: GenericSet.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
我真的不想发布所有代码,但如果你们能告诉我一种编译和查找错误的方法,那就太好了。我知道它必须处理泛型,我只是不知道如何找到代码中出现问题的位置。
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class GenericSet<T> implements ExtendedSet<T> {
private ArrayList<T> myList;
public GenericSet() {
myList = new ArrayList<T>(50);
}
public ArrayList<T> getList() {
return this.myList;
}
public void addThis(T item) {
this.myList.add(item);
}
public ExtendedSet<T> intersection(ExtendedSet<T> set) {
ArrayList<T> compareThis = ((GenericSet<T>)set).getList();
GenericSet<T> finalVal = new GenericSet();
for (T item : compareThis) {
if (this.myList.contains(item)) {
finalVal.addThis(item);
}
}
return finalVal;
}
public ExtendedSet<T> difference(ExtendedSet<T> set) {
ArrayList<T> compareThis = ((GenericSet<T>)set).getList();
GenericSet<T> finalVal = new GenericSet();
for (T item : compareThis) {
if (!(this.myList.contains(item))) {
finalVal.addThis(item);
}
}
return finalVal;
}
public ExtendedSet<T> union(ExtendedSet<T> set) {
ArrayList<T> base = this.getList();
ArrayList<T> compareThis = ((GenericSet<T>)set).getList();
GenericSet<T> finalVal = new GenericSet();
for (T item : compareThis) {
if (!(this.myList.contains(item))) {
finalVal.addThis(item);
}
}
for (T item: base) {
finalVal.addThis(item);
}
return finalVal;
}
public ExtendedSet<T> symmetricDifference(ExtendedSet<T> set) {
GenericSet<T> diffSet = new GenericSet();
ArrayList<T> compareThis = ((GenericSet<T>)set).getList();
ArrayList<T> base = this.getList();
for (T item : compareThis) {
if (!(this.myList.contains(item))) {
diffSet.addThis(item);
}
}
for (T item : base ) {
if (!(compareThis.contains(item))) {
diffSet.addThis(item);
}
}
return diffSet;
}
public ExtendedSet<ExtendedSet<T>> powerSet() {
GenericSet<ExtendedSet<T>> powerSet = new GenericSet();
for (int i = 0; i<(this.myList.size()); i++) {
GenericSet<T> newSet = new GenericSet();
for (int k = 0; k < i; k++) {
newSet.addThis(this.myList.get(k));
}
powerSet.addThis(newSet);
}
return powerSet;
}
public ExtendedSet<Tuple<T>> product(ExtendedSet<T> set) {
GenericSet<Tuple<T>> product = new GenericSet();
Object aList = this.myList.clone();
ArrayList<T> bList = ((GenericSet<T>)set).getList();
for (int i = 0; i < this.myList.size(); i++) {
GenericTuple addMe = new GenericTuple(((ArrayList<T>)aList).get(i), bList.get(i));
product.addThis(addMe);
}
return product;
}
public <E> ExtendedSet<E> map(LMap<T, E> map) {
GenericSet<E> finalVal = new GenericSet();
for (T item: this.myList) {
E ans = map.map(item);
finalVal.addThis(ans);
}
return finalVal;
}
public T reduce(LReduce<T> reduce) {
ArrayList<T> run = this.getList();
T end = run.get(0);
for (T item: this.myList) {
if (item != run.get(0)) {
end = reduce.reduce(end, item);
}
}
return end;
}
public ExtendedSet<T> filter(LFilter<T> filter) {
GenericSet<T> finalVal = new GenericSet();
for (T item: this.myList) {
if (filter.filter(item)) {
finalVal.addThis(item);
}
}
return finalVal;
}
@Override
public boolean equals(Object o) {
if (o == this) {
return true;
}
if (!(o instanceof GenericSet)) {
return false;
}
GenericSet<T> testMe = (GenericSet<T>) o;
boolean ans = true;
ArrayList<T> test = this.getList();
ArrayList<T> compare = testMe.getList();
for (int i = 0; i < test.size(); i++) {
if (test.get(i) != compare.get(i)) {
return false;
}
}
return true;
}
public void clear(){
this.myList.clear();
}
public boolean removeAll(Collection<?> c) {
boolean ans = this.myList.removeAll(c);
return ans;
}
public boolean retainAll(Collection<?> c) {
boolean ans = this.myList.retainAll(c);
return ans;
}
public boolean addAll(Collection<? extends T> c) {
boolean ans = this.myList.addAll(c);
return ans;
}
public boolean containsAll(Collection<?> c) {
boolean ans = this.myList.containsAll(c);
return ans;
}
public int size() {
int ans = this.myList.size();
return ans;
}
public boolean isEmpty() {
boolean ans = this.myList.isEmpty();
return ans;
}
public boolean contains(Object o) {
boolean ans = this.myList.contains(o);
return ans;
}
public Iterator<T> iterator() {
Iterator<T> ans = this.myList.iterator();
return ans;
}
public Object[] toArray() {
Object[] ans = this.myList.toArray();
return ans;
}
public <T> T[] toArray(T[] a) {
T[] ans = this.myList.toArray(a);
return ans;
}
public boolean add(T e) {
boolean ans = this.myList.add(e);
return ans;
}
public boolean remove(Object o) {
boolean ans = this.myList.remove(o);
return ans;
}
public int hashCode() {
int ans = this.myList.hashCode();
return ans;
}
}
最佳答案
您需要替换以下代码:
GenericSet<ExtendedSet<T>> powerSet = new GenericSet();
与
GenericSet<ExtendedSet<T>> powerSet = new GenericSet<ExtendedSet<T>>();
在你所有的声明中。如果您使用像 eclipse 这样的 IDE,带有警告的代码将以黄色下划线显示,以便于查找问题。
关于Java 使用 -Xlint :unchecked for details 重新编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29529678/
当我构建我的项目时,我收到如下错误: [INFO] SomeClass.java: Some input files use or override a deprecated API. [INFO]
我在服务器启动时看到以下 Spring 框架异常 ** > Initialization of bean failed; nested exception is > java.lang.Illegal
scalax -Xlint 帮助提供以下信息: $ scalac -Xlint:help Enable or disable specific warnings adapted-args
我试图从一开始就保持一个非常干净和严格设置的项目,包括: 使用 the Checker Framework . 启用所有编译器警告并将它们视为错误( -Xlint:all 和 -Werror )。 使
这个问题已经有答案了: Java: Array of List (3 个回答) 已关闭 4 年前。 我收到编译错误。 “警告:[未选中]未选中的转换” ArrayList[] regionTroops
在编写了一个很长的 GUI 程序并在 Eclipse 中获得正确的结果之后,最可怕的错误是在终端中运行 seam 程序,并通过看到此错误而感到害怕: Note: ./au/edu/uow/UserIn
这个问题在这里已经有了答案: What causes javac to issue the "uses unchecked or unsafe operations" warning (12 个答案
我想知道使用 -Xlint 编译是否会对构建过程或项目产生一些负面影响? 如果没有,为什么 java 编译器默认没有打开这个功能? 我可以打开所有警告,甚至在构建应用程序的发布版本期间忘记这一点吗?
我的软件构建使用 -Xlint -Werror,所以我经常遇到编译器警告,这些警告会破坏我的构建。每隔一段时间我就会遇到一个需要抑制的警告,但总是很难弄清楚是哪个 Xlint 选项抑制了我看到的警告。
在 NetBeans 中清理和构建我的项目时,有一个警告说“不安全的操作”,所以我使用 -Xlint:unchecked 来查看这些操作,但我不明白我做错了什么。这些是警告,然后是我的代码,谢谢! U
当我有一个覆盖父类(super class)方法但未指定 @Override 注释的类时,我试图让我的 java 构建失败。 构建是通过 ant 完成的,我已将以下元素添加到我的 中任务: un
我正在尝试让 Maven 输出 lint 级别警告。我创建了一个小型测试程序,它应该生成关于从非静态上下文使用静态方法的警告,但是尽管有许多不同的插件配置选项,构建总是成功而没有任何警告! 谷歌搜索后
我已经处理这个问题一个星期了,虽然我找到了一些答案,但似乎没有一个能解决我程序的问题。 我不断收到这条消息: Note: Triangle.java uses unchecked or unsafe
基本上,有2个框架:“StartUpFrame”和“ActivityScreen” StartUpFrame是使用纯 Netbeans GUI 制作的,而ActivityScreen是通过编码而不使用
当我编译我的类时,我收到这些警告: Note: JSONLoader.java uses unchecked or unsafe operations Note: Recompile with -xL
我有一个带有 Maven 编译器插件的 Maven 项目,我想使用 -Xlint:overrides作为 java 编译器的选项,所以我将这一行添加到 maven 编译器插件 -Xlint:overr
我的程序似乎很合我意。但是,当我编译它时,我收到了这条消息: Note: Program.java uses unchecked or unsafe operations. Note: Recompi
我不断在 BlueJ/Java 中收到此消息。 http://cache.gyazo.com/19c325e77bbc120892d1035dcfda5377.png 我知道 StackOverflo
我有这门课,在src/main/java/RawTypes.java : import java.util.*; public class RawTypes { private List raw;
所以当我编译我的 android 应用程序时,我几乎总是会收到这样的消息: [javac] Note: /home/kurtis/sandbox/udj/androidApp/src/org/klnu
我是一名优秀的程序员,十分优秀!