Java 字符串转换为类属性:使用 HashMap 解析 Key-Value 对
Java 字符串转换为类属性:使用 HashMap 解析 Key-Value 对
本文将讲解如何使用 Java 代码将以 'key='value'' 形式呈现的字符串,解析成类的属性。该字符串以逗号分隔各个内容项,例如:
boardId='e01',sn='1',ip='192.168.76.2',netmask='255.255.255.255',productModel='E1',softwareVersion='1.0.0.1',hardwareVersion='2.0',fxsNumber='16',fxoNumber='16',e1Numbe='0',layout='layout',mac='aa:bb:cc:dd:ee:ff',supports=''
我们可以使用 Java 的 HashMap 来存储 key-value 对,然后根据 HashMap 中的数据创建类的属性。
代码实现
以下是一个示例代码,展示了如何将字符串转换为类的属性:
import java.util.HashMap;
public class StringToProperties {
public static void main(String[] args) {
String str = 'boardId='e01',sn='1',ip='192.168.76.2',netmask='255.255.255.255',productModel='E1',softwareVersion='1.0.0.1',hardwareVersion='2.0',fxsNumber='16',fxoNumber='16',e1Numbe='0',layout='layout',mac='aa:bb:cc:dd:ee:ff',supports=''';
// 分割字符串,得到多个 key-value 对
String[] keyValuePairs = str.split(',');
// 创建 HashMap 存储 key-value 对
HashMap<String, String> properties = new HashMap<>();
for (String pair : keyValuePairs) {
String[] keyValue = pair.split('=');
if (keyValue.length == 2) {
String key = keyValue[0].trim();
String value = keyValue[1].trim().replaceAll(''', '');
properties.put(key, value);
}
}
// 根据 HashMap 中的数据创建类的属性
StringBuilder propertiesCode = new StringBuilder();
for (String key : properties.keySet()) {
String value = properties.get(key);
propertiesCode.append('private String ').append(key).append(' = '').append(value).append('';\n');
}
System.out.println(propertiesCode.toString());
}
}
代码解析
- 字符串分割: 使用
split(',')方法将字符串以逗号分隔成多个 key-value 对。 - HashMap 存储: 使用
HashMap存储每个 key 和对应的 value。首先,使用split('=')将每个 key-value 对以等号分隔,然后将 key 和 value 分别存储到 HashMap 中。3. 属性生成: 遍历 HashMap 中的 key-value 对,使用StringBuilder拼接字符串,生成类的属性代码。
运行结果
运行以上代码,将会输出以下类的属性:
private String boardId = 'e01';
private String sn = '1';
private String ip = '192.168.76.2';
private String netmask = '255.255.255.255';
private String productModel = 'E1';
private String softwareVersion = '1.0.0.1';
private String hardwareVersion = '2.0';
private String fxsNumber = '16';
private String fxoNumber = '16';
private String e1Numbe = '0';
private String layout = 'layout';
private String mac = 'aa:bb:cc:dd:ee:ff';
private String supports = '';
通过这种方法,我们可以将字符串中的 key-value 对轻松地转换成类的属性,方便后续使用。
原文地址: https://www.cveoy.top/t/topic/pdMq 著作权归作者所有。请勿转载和采集!