gpt4 book ai didi

java - 检查 ArrayList 是否为空

转载 作者:行者123 更新时间:2023-11-29 22:46:40 25 4
gpt4 key购买 nike

我正在尝试检查我保存的 ArrayList 是否为空当我运行代码时:

  protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Intent intent = this.getIntent();
String title = intent.getStringExtra(NotePad.EXTRA_MESSAGE);
notes.add(title);
Log.d("testt", "notes: " + notes);

if(title != null) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
SharedPreferences.Editor editor = prefs.edit();
Gson gson = new Gson();
String json = gson.toJson(notes);
editor.putString(Key, json);
editor.apply();
Log.d("ans", "notes: " + notes);
}

int t = CheckSharedPreferences();
Log.d("testt","t: "+t);
}

int CheckSharedPreferences() {
ArrayList<String> test = new ArrayList<String>();

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
Gson gson = new Gson();
String json = prefs.getString(Key, null);
Type type = new TypeToken<ArrayList<String>>() {}.getType();
test = gson.fromJson(json, type);

Log.d("testt", "test " + test);

if(test == null) {
return 1;
} else {
return 0;
}
}

此方法始终返回 0,即使列表为空也是如此。

这些是来自日志的 fragment :

10-10 01:12:38.254 19365-19365/com.example.quicknote D/testt: notes: [null]
10-10 01:12:38.281 19365-19365/com.example.quicknote D/testt: test[null]
10-10 01:12:38.281 19365-19365/com.example.quicknote D/testt: t: 0

最佳答案

查看你的日志,好像是

test = gson.fromJson(json, type);

返回一个以 null 作为第一个/唯一元素的列表。

如果出现以下情况,则必须检查这三个条件:

if ( test == null || test.isEmpty() || test.get(0) == null ) { return 1;}

关于java - 检查 ArrayList 是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58311368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com