java 松散耦合避免使用像 'ArrayList' 这样的实现类型;改用界面
java Loose Coupling avoid using implemnetation types like 'ArrayList'; Use the interface instead
我们有这个名为 Sonar 的编码标准应用程序。我有一个函数,returns 一个 ArrayList 和声纳说 "java Loose Coupling avoid using implemnetation types like 'ArrayList'; Use the interface instead"
例如,如果我这样做,声纳会给出该错误。
public ArrayList<String> test()
{
ArrayList<String> testing = new ArrayList<String>();
return testing;
}
我不确定如何更正声纳消息以改用接口。
任何建议都会有所帮助。
你 return 一个 List<String>
而不是 ArrayList<String>
:
public List<String> test()
{
List<String> testing = new ArrayList<String>();
return testing;
}
这种方法的优点是 test()
方法的用户不必知道您实际使用的是 List<String>
的哪个实现,并且您可以切换到不改变方法的 API 的不同实现。