安卓分割空字符串数组长度为1

空值分割总有1个长度,困惑了很久。

Java split分割空字符串得到的数组长度为1_java数组length为1的情况-CSDN博客

计数

java 复制代码
int count_bookmark = 0;
SharedPreferences SP;

SP = PreferenceManager.getDefaultSharedPreferences(this);
String s = SP.getString("bookmarks", "");        
if (!s.isEmpty()) {
    String[] sa = s.split(":");
    count_bookmark = sa.length;
}

加载

java 复制代码
void loadBookmarks() {
    String s = sharedPreferences.getString("bookmarks", "");    
    String[] sa = s.split(":");
    Collections.addAll(list, sa);
    list.remove("");
    adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list);
    listView.setAdapter(adapter);
}

添加

java 复制代码
SharedPreferences SP;
SharedPreferences.Editor SPE;

String s = SP.getString("bookmarks", "");
if (s.isEmpty())
    SPE.putString("bookmarks", path);
else
    SPE.putString("bookmarks", ":" + path);
SPE.apply();
相关推荐
普通人619 分钟前
MySQL_FIND_IN_SET函数详解
android·数据库·mysql
好的佩奇11 小时前
Dart 之集合元素
android·flutter·dart
Easyhood13 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
FlightYe14 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
疯华整猫15 小时前
删掉 LeakCanary 那天,我用 Trae 自己撸了一套:最难的不是分析堆,是决定什么时候 dump
android·人工智能·性能优化
mmsx1 天前
耳切法切带洞多边形:论文能跑通,真实数据为什么崩
android·kotlin
洞见前行1 天前
你的 Activity 关了,为什么还活着?Android 内存泄漏从发现、定位到线上治理
android·性能优化·leakcanary
Kapaseker1 天前
Kotlin 又要加语法糖了:这次轮到 if-else
android·kotlin
恋猫de小郭1 天前
Flutter 3.50 & Dart 3.14 发布,快来看看有什么更新吧
android·前端·flutter