没有指定类型的Java接口

Kas*_*erF 1 java interface

我对界面设计有疑问.我将尝试用下面的一个简单示例来说明.

想象一下,我有一个界面:

public interface TestInterface {

    public List getData();

}
Run Code Online (Sandbox Code Playgroud)

我有一个实施班:

public class TestInterfaceImpl implements TestInterface{

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}
Run Code Online (Sandbox Code Playgroud)

我这个糟糕的设计在没有指定类型(List)的接口中返回List然后在实现类(List)中指定它?

谢谢 - 任何评论表示赞赏.

Mat*_*all 9

在任何新代码中使用原始类型都是一个坏主意.而是参数化界面.

public interface TestInterface<T> {

    public List<T> getData();

}

public class TestInterfaceImpl implements TestInterface<Customer> {

    public List<Customer> getData() {
        return null; //will return a list of customers
    } 
}
Run Code Online (Sandbox Code Playgroud)

如果您以前从未编写过通用类,或者只是不确定所有细节,那么您可能会发现Java Tutorial的泛型课非常有用.