Java 找不到适合添加的方法(Set<;String>;)

Java 找不到适合添加的方法(Set<;String>;),java,android,Java,Android,这里是MainActivity.java文件。我在notes.add(set)中出错 inandroid.jeetna.appnotes中的包; 导入android.content.Context; 导入android.content.Intent; 导入android.content.SharedReferences; 导入android.os.Bundle; 导入android.support.design.widget.FloatingActionButton; 导入android.sup

这里是
MainActivity.java
文件。我在
notes.add(set)中出错

inandroid.jeetna.appnotes中的
包;
导入android.content.Context;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.view;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListView;
导入java.util.ArrayList;
导入java.util.HashSet;
导入java.util.Set;
公共类MainActivity扩展了AppCompatActivity{
静态ArrayList notes=新建ArrayList();
静态阵列适配器阵列适配器;
静态集;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
FloatingActionButton fab=(FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
Snackbar.make(查看“替换为您自己的操作”,Snackbar.LENGTH\u LONG)
.setAction(“Action”,null).show();
}
});
ListView ListView=(ListView)findViewById(R.id.ListView);
SharedReferences SharedReferences=this.getSharedReferences(“inandroid.jeetna”+
“.appnotes”,Context.MODE_PRIVATE);
set=SharedReferences.getStringSet(“notes”,null);
notes.clear();
如果(设置!=null){
注:增加(套);
}否则{
注释。添加(“测试数据默认注释”);
set=新的HashSet();
set.addAll(注释);
sharedReferences.edit().putStringSet(“notes”,set).apply();
}
arrayAdapter=新的arrayAdapter(这是android.R.layout.simple\u list\u item\u 1,
注释);
setAdapter(arrayAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
公共无效onItemClick(AdapterView AdapterView、View视图、int i、long l){
Intent in=newintent(getApplicationContext(),EditYourNote.class);
in.putExtra(“noteId”,i);
星触觉(in);
}
});
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(右菜单菜单菜单主菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//处理操作栏项目单击此处。操作栏将
//自动处理Home/Up按钮上的点击,只要
//在AndroidManifest.xml中指定父活动时。
int id=item.getItemId();
//noinspection SimplifiableIf语句
if(id==R.id.add){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}
以下是错误消息:

Error:(55, 18) error: no suitable method found for add(Set<String>)
method ArrayList.add(int,String) is not applicable
(actual and formal argument lists differ in length)
method ArrayList.add(String) is not applicable
(actual argument Set<String> cannot be converted to String by method invocation conversion)
method AbstractList.add(String) is not applicable
(actual argument Set<String> cannot be converted to String by method invocation conversion)
method AbstractList.add(int,String) is not applicable
(actual and formal argument lists differ in length)
method AbstractCollection.add(String) is not applicable
(actual argument Set<String> cannot be converted to String by method invocation conversion)
错误:(55,18)错误:找不到适合添加(Set)的方法
方法ArrayList.add(int,String)不适用
(实际参数列表和正式参数列表长度不同)
方法ArrayList.add(字符串)不适用
(实际参数集无法通过方法调用转换转换为字符串)
方法AbstractList.add(字符串)不适用
(实际参数集无法通过方法调用转换转换为字符串)
方法AbstractList.add(int,String)不适用
(实际参数列表和正式参数列表长度不同)
方法AbstractCollection.add(字符串)不适用
(实际参数集无法通过方法调用转换转换为字符串)
使用此

 static ArrayList<Set<String>> notes = new ArrayList<>();
static ArrayList notes=new ArrayList();

使用
notes.addAll(set)
代替
notes.add(set)
。此方法用于集合追加。

我想实际上是
set
的问题。您不能在字符串Arraylist中添加set,您必须将Arraylist更改为set,这就是我的理解。是的,这样可以将兼容的集合添加到其他集合中。
 static ArrayList<Set<String>> notes = new ArrayList<>();