不实现任何类的Java-return接口

不实现任何类的Java-return接口,java,arrays,Java,Arrays,我有这样的代码: import java.util.List; class A{ ... public List<INet4Address> func() { // normally I would do smth like this: // List<INet4Address> list = new new ArrayList<Inet4Address>(); // but I can't because its prohibited by my teach

我有这样的代码:

import java.util.List;
class A{
...
public List<INet4Address> func()
{
// normally I would do smth like this:
// List<INet4Address> list = new new ArrayList<Inet4Address>();
// but I can't because its prohibited by my teacher
}
...
}; 
import java.util.List;
甲级{
...
公共列表函数()
{
//通常我会这样做:
//List List=新建ArrayList();
//但是我不能,因为我的老师禁止
}
...
}; 

我的意思是他禁止我们使用任何公共类(换句话说,我不能导入比列表更多的类/包。有什么建议我如何返回接口实现吗?

如果你不能创建现有类的实例,你唯一的选择就是创建一个匿名类的实例来实现
列表
接口

public List<INet4Address> func()
{
    return new List<Inet4Address> () {

      public int size()
      {
        // TODO Auto-generated method stub
        return 0;
      }

      public boolean isEmpty()
      {
        // TODO Auto-generated method stub
        return false;
      }

      ... add implementations of all the methods of the List interface
    };
}
public List func()
{
返回新列表(){
公共整数大小()
{
//TODO自动生成的方法存根
返回0;
}
公共布尔值为空()
{
//TODO自动生成的方法存根
返回false;
}
…添加列表接口的所有方法的实现
};
}

也许你可以问你的老师他期望什么。旁注-虽然允许在类声明末尾使用分号,但这既不需要也不建议使用。@Vyncent:“导入”与“使用”不同-如果只是禁止导入,OP可以使用
new java.util.ArrayList()
…您可以
返回null;
-这是有效的,并且不需要导入任何其他类。因为您没有说明返回的内容应该是/做什么,这与任何内容都一样有效。@Vyncent我当然希望这位老师不要期望他的学生实现内置的
列表
接口f必须编写的方法。也许他们应该定义自己的
列表
接口,只使用一些基本方法?无论如何,我们肯定需要更多信息,否则海报需要要求他的老师澄清。这很有效。当然,没有一个理智的老师会希望他们的学生真正这样做。@DavidWallace Unles他们刚刚了解了匿名类。它不一定是匿名类。它可能是一个命名的嵌套类…@JonSkeet出于某种原因,我认为老师也不允许这样做,但我可能错了。