Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java松耦合避免使用';ArrayList';;改用界面_Java_Arraylist_Loose Coupling - Fatal编程技术网

java松耦合避免使用';ArrayList';;改用界面

java松耦合避免使用';ArrayList';;改用界面,java,arraylist,loose-coupling,Java,Arraylist,Loose Coupling,我们有一个叫做Sonar的编码标准应用程序。我有一个函数返回ArrayList,sonar说“java松耦合避免使用像‘ArrayList’这样的实现类型,而是使用接口” 例如,如果我这样做,声纳会给出那个错误 public ArrayList<String> test() { ArrayList<String> testing = new ArrayList<String>(); return testin

我们有一个叫做Sonar的编码标准应用程序。我有一个函数返回ArrayList,sonar说“java松耦合避免使用像‘ArrayList’这样的实现类型,而是使用接口”

例如,如果我这样做,声纳会给出那个错误

    public ArrayList<String> test()
       {
       ArrayList<String> testing = new ArrayList<String>();
        return testing;
        }
publicArrayList测试()
{
ArrayList测试=新建ArrayList();
回归测试;
}
我不知道如何更正声纳信息以使用接口

任何建议都会有帮助。

您返回的是
列表,而不是
数组列表

公共列表测试()
{
列表测试=新建ArrayList();
回归测试;
}
这种方法的优点是
test()
方法的用户不必知道您实际使用的是
List
的哪个实现,并且您可以切换到不同的实现,而无需更改方法的API

public List<String> test()
{
    List<String> testing = new ArrayList<String>();
    return testing;
}