我们有这个应用程序用于称为Sonar的编码标准。我有这个函数返回一个ArrayList,声纳说“java松散耦合避免使用像'ArrayList'这样的实现类型;而是使用接口”
例如,如果我这样做,声纳会给出错误。
public ArrayList<String> test()
{
ArrayList<String> testing = new ArrayList<String>();
return testing;
}
我不确定如何更正声纳消息以使用接口。
任何建议都会有所帮助。
答案 0 :(得分:2)
您返回List<String>
而不是ArrayList<String>
:
public List<String> test()
{
List<String> testing = new ArrayList<String>();
return testing;
}
这种方法的优点是test()
方法的用户不必知道您实际使用的List<String>
的哪种实现,并且您将能够切换在不改变方法API的情况下使用不同的实现。