sn = code.substring(code.length() - 7); // 7位序列号 style = code.substring(code.length() - 10, code.length() - 7); // 3位款式 spec = code.substring(0, code.length() - 10); // 型号将数据放进集合里,但是不影响下面的代码
时间: 2024-02-14 13:08:58 浏览: 153
你可以使用ArrayList来创建一个集合,将数据放入集合中。代码如下:
```
List<String> dataList = new ArrayList<>();
String sn = code.substring(code.length() - 7); // 7位序列号
String style = code.substring(code.length() - 10, code.length() - 7); // 3位款式
String spec = code.substring(0, code.length() - 10); // 型号
// 将数据放进集合中
dataList.add(spec);
dataList.add(style);
dataList.add(sn);
```
注意:这里的dataList是一个List<String>类型的集合,如果你要使用其他类型的集合,可以根据需要进行修改。
相关问题
String sn = code.substring(code.length() - 7); // 7位序列号 String style = code.substring(code.length() - 10, code.length() - 7); // 3位款式 String spec = code.substring(0, code.length() - 10); android数据持久化怎么实现
Android 中的数据持久化可以通过使用 SharedPreferences、SQLite 数据库、文件存储等方式来实现,下面以 SharedPreferences 为例进行说明。
1. 存储数据:
```
// 获取 SharedPreferences 对象
SharedPreferences sp = getSharedPreferences("my_data", Context.MODE_PRIVATE);
// 获取 SharedPreferences.Editor 对象
SharedPreferences.Editor editor = sp.edit();
// 存储数据
editor.putString("sn", sn);
editor.putString("style", style);
editor.putString("spec", spec);
// 提交数据
editor.apply();
```
2. 读取数据:
```
// 获取 SharedPreferences 对象
SharedPreferences sp = getSharedPreferences("my_data", Context.MODE_PRIVATE);
// 读取数据
String sn = sp.getString("sn", "");
String style = sp.getString("style", "");
String spec = sp.getString("spec", "");
```
以上代码中,首先获取了一个名为 "my_data" 的 SharedPreferences 对象,该对象的作用是用于存储数据。在存储数据时,通过调用 SharedPreferences.Editor 对象的 putString() 方法将数据存储到 SharedPreferences 对象中,同时通过调用 apply() 方法提交数据。在读取数据时,同样获取了 "my_data" 对应的 SharedPreferences 对象,然后通过调用 getString() 方法获取存储在 SharedPreferences 中的数据。
需要注意的是,SharedPreferences 中存储的数据是以键值对的形式存储的,其中键为字符串类型,值可以是字符串、整型、布尔型等基本数据类型。在存储和读取数据时,需要指定键的名称,以便正确地获取对应的值。
SELECT cbdl_code, CASE WHEN LENGTH(cbdl_code) = 1 THEN name WHEN LENGTH(cbdl_code) = 3 THEN CONCAT_WS('/', (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 1)), (SELECT name FROM pms_cbdl WHERE cbdl_code = t1.cbdl_code)) WHEN LENGTH(cbdl_code) = 4 THEN CONCAT_WS('/', (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 1)), (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 3)), (SELECT name FROM pms_cbdl WHERE cbdl_code = t1.cbdl_code)) WHEN LENGTH(cbdl_code) = 5 THEN CONCAT_WS('/', (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 1)), (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 3)), (SELECT name FROM pms_cbdl WHERE cbdl_code = SUBSTRING(t1.cbdl_code, 1, 4)), (SELECT name FROM pms_cbdl WHERE cbdl_code = t1.cbdl_code)) END AS new_name FROM pms_cbdl t1;以上语句执行报错
您提供的SQL语句中的错误可能是由于子查询返回多个结果导致的。您可以尝试使用JOIN操作来替代子查询,以解决此问题。以下是修改后的SQL语句:
```sql
SELECT t1.cbdl_code,
CASE
WHEN LENGTH(t1.cbdl_code) = 1 THEN t1.name
WHEN LENGTH(t1.cbdl_code) = 3 THEN CONCAT_WS('/', t2.name, t1.name)
WHEN LENGTH(t1.cbdl_code) = 4 THEN CONCAT_WS('/', t2.name, t3.name, t1.name)
WHEN LENGTH(t1.cbdl_code) = 5 THEN CONCAT_WS('/', t2.name, t3.name, t4.name, t1.name)
END AS new_name
FROM pms_cbdl t1
LEFT JOIN pms_cbdl t2 ON t1.cbdl_code = SUBSTRING(t2.cbdl_code, 1, 1)
LEFT JOIN pms_cbdl t3 ON t1.cbdl_code = SUBSTRING(t3.cbdl_code, 1, 3)
LEFT JOIN pms_cbdl t4 ON t1.cbdl_code = SUBSTRING(t4.cbdl_code, 1, 4);
```
请注意,您可能需要根据您的表结构和数据适当调整JOIN条件和连接的表别名。这个修改后的查询将使用JOIN操作来代替子查询,并根据cbdl_code的长度进行连接。这样可以避免子查询返回多个结果的问题。
阅读全文