我正在尝试用Java实现一个排序列表作为一个简单的练习。为了使它成为泛型,我有一个add(Comparable obj),这样我就可以将它与实现可比较接口的任何类一起使用。
但是,当我在代码中使用obj.compareTo(...) anywhere时,我从编译器获得了"unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable" (带有-Xlint:unchecked选项)。代码运行得很好,但是我想不出如何去掉那些烦人的消息。
有什么提示吗?
我想对列表的自定义实现进行排序,但是它会引发一个我不理解的编译错误。
代码:
import java.util.ArrayList;
import java.util.Collections;
public class CustomList<E> extends ArrayList<E>
{
public void sort()
{
Collections.sort(this);
}
}
错误:
CustomList.java:8: error: no suitable method found for sort(CustomL
我知道有一些内置的例程,但作为一个学习者,我想使用我自己的设备进行排序,而且由于排序是个老生常谈,所以我决定尝试制作我自己的通用排序例程,我可以使用它来处理数字或字符串,甚至是日期,如果我知道它们是如何在Java中工作的话。
这就是我所拥有的,在用一个错误换另一个错误之前,我只在两个地方有错误(包含在"**“标记中),需要弄清楚如何进行比较。
package sort;
import java.util.ArrayList;
public abstract class Sort<E> implements Comparable<E> {
public
我正在用JAVA泛型概念测试一些小的实践。
我试图从一个泛型函数返回一个列表,但是编译不允许我这样做。
检查下面的代码:
package com.test.generic.method;
import java.util.ArrayList;
import java.util.List;
public class Sample_3<T> {
public <T> List<T> testReturn(T t) {
List<T> list = new ArrayList<T> ();
l
class Person{
private String navn; //a Person class, "navn" means "name" in norwegian
Person(String s){
navn = s;
}
public String hentNavn(){ //returns the name of the person
return navn;
}
}
class PersonBeholder<Person>{ //a container using an own imple
我跟随在Rosettacode上用Java语言实现的Quicksort的。据我所知,这应该接受一个实现可比较接口的数组,类型是在运行时推断出来的。我将其封装在一个带有main方法的小类中,但得到了一系列关于推断类型的错误。我对Java比较陌生,对这个结构还不熟悉。
import java.util.List;
import java.util.LinkedList;
public class QuickSortExample {
public static <E extends Comparable<? super E>> List<E> qu
有人能帮我理解一下Java的泛型是如何工作的吗?我理解它的概念。但是对于这个具体的代码示例,我不清楚编译器的错误消息。
示例代码:测试类
// Test code
public class A < ListType extends Comparable < ListType >> {
// To make the instance variable y
public int y;
// To make the instance variable s
public String s;
//Constructor Method
public A(int required
我有一个方法:
public List<Stuff> sortStuff(List<Stuff> toSort) {
java.util.Collections.sort(toSort);
return toSort;
}
这会产生一个警告:
Type safety: Unchecked invocation sort(List<Stuff>) of the generic method sort(List<T>) of type Collections.
Eclipse说修复这个警告的唯一方法是在我的sortStuff方法中添
昨天,我尝试创建一个对象数组,属于泛型类的非静态内部类。这样做似乎没有什么好办法。
第一次尝试:
public class Wibble<T>{
public static void main(String...args){
new Wibble<String>();
}
public Wibble(){
Bar[] bar = new Bar[11];
}
static class Foo{}
class Bar e
java api定义了几个具有相同名称的泛型和非泛型-比如LinkedList等。它们都是使用相同的语句import java.util.LinkedList;解析的。但是在一个包中,.java文件中只能有一个公共类(同名)。
那么我们能得到同样的效果吗?我尝试了以下代码:
package org.****.ai.ass1.part1;
import java.util.LinkedList;
public abstract class Test extends LinkedList { }
//public abstract class Test<E> extends Link
我正在尝试创建一个泛型函数,向其中传递一个数组(int[],String[]),并使用TreeSort返回排序版本。我甚至还没有机会开始调试它,因为主类拒绝接受int[]数组作为参数。
TreeSort
public T[] treeSort(T[] arr) {
T[] result = (T[]) new Object[arr.length];
for (int i = 0; i < arr.length; i++)
if (arr[i] != null)
add(arr[i]);
Iterator it = iterator();
int
我正在尝试将C#中的以下类转换为Java。
Result是一个由泛型Result<T>类扩展的非泛型类.
它们的样本用途如下:
// When we only care if the operation was successful or not.
Result result = Result.OK();
// When we also want to store a value inside the Result object.
Result<int> result = Result.OK<int>(123);
在Java中,每个类都需要在自己的
我试图将我的表数据源封装到一个名为ArrayDataSource的类中,类似于下面的代码行:
public class ArrayDataSource<T>: NSObject, UITableViewDataSource {
var items: [[T]]
// ...
public func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return self.items.count
}
public func tableView(t
我对c++中的模板和java中的泛型是如何工作的感到有点困惑。如果有人能给我解释一下这段java代码是如何被c++的,那就太好了:
public class Box<T> {
private T t;
public void add(T t1) {
this.t = t1;
}
public T get() {
return t;
}
public <U> void inspect(U u){
System.out.println("T:
我有一个用户定义的类,它应该是泛型的,可以接受整数、浮点数、双值等,但也需要能够进行比较。看上去:
public class MyClass<T extends Comparable<T>> implements Comparable<MyClass<T>>{
private T myClassObject;
...
而compareTo方法看起来就像
@Override
public int compareTo(MyClass<T> o){
return this.myClassObject.compareTo((T) o)