如何在Java中拆分字符串?
我有一组单选按钮和一组复选框。我想打印出所选的单选按钮/复选框。要打印所选的单选按钮,我使用如何在Java中拆分字符串?,java,string,Java,String,我有一组单选按钮和一组复选框。我想打印出所选的单选按钮/复选框。要打印所选的单选按钮,我使用 Object table = radio.getValue(); System.out.println(table); 我选择了单选按钮。要获取已选中的复选框,我使用相同的选项: Object columns = check.getValue(); System.out.println(columns); 我得到的复选框已被选中,但周围有方括号,例如 如果我选中复选框 专栏A,专栏C,专栏F 打印的
Object table = radio.getValue();
System.out.println(table);
我选择了单选按钮。要获取已选中的复选框,我使用相同的选项:
Object columns = check.getValue();
System.out.println(columns);
我得到的复选框已被选中,但周围有方括号,例如
如果我选中复选框
专栏A,专栏C,专栏F
打印的行将如下所示:
[专栏A,专栏C,专栏F]
我想将所选复选框的字符串放入我的sql查询中,这样我就有了类似以下内容的data.executeQuery(“从“+表中选择“+列+”)代码>
它适用于表
,但不适用于列
列是一个包含所选复选框的所有值的数组。确保默认的toString方法输出由“,”列分隔的项目是一个包含所选复选框的所有值的数组。确保默认的toString方法输出由“,”分隔的项。对于此特定应用程序,不需要拆分字符串。你可以用
String str = columns.toString(); // "[colummA, colummC, colummF]"
System.out.println(str.substring(1, str.length() - 1));
您还可以使用
StringBuilder sb = new StringBuilder();
for(Object obj : columns) {
if (sb.length() != 0) sb.append(",");
sb.append(obj);
}
然而,要回答这个问题:
使用语法通过split(String)
方法拆分字符串。由于您有一个项目列表,因此将其转换为字符串并拆分它不是一个有效的决定。对于此特定应用程序,您不需要拆分字符串。你可以用
String str = columns.toString(); // "[colummA, colummC, colummF]"
System.out.println(str.substring(1, str.length() - 1));
您还可以使用
StringBuilder sb = new StringBuilder();
for(Object obj : columns) {
if (sb.length() != 0) sb.append(",");
sb.append(obj);
}
然而,要回答这个问题:
使用语法通过split(String)
方法拆分字符串。因为您有一个项目列表,所以将其转换为字符串并拆分它并不是一个有效的决定。这是因为默认设置
check.getValue().toString()
调用并取决于调用的是List还是HashSet以及List/HashSet的默认toString()方法,该方法在打印值时默认附加[],因此对于您的情况,您可以使用具有重写toString()的集合方法,或者只编写自定义toString方法并调用它而不是默认的toString方法
下面是一个示例实现,如果它是HashSet
private String getHashSetString(Set<String> myset){
StringBuilder sb = new StringBuilder();
Iterator<String> i = myset.iterator();
if (! i.hasNext())
return "";
for (;;) {
Long e = i.next();
sb.append(e);
if (! i.hasNext())
return sb.toString();
sb.append(",");
}
}
写
这是因为默认
check.getValue().toString()
调用并取决于调用的是List还是HashSet以及List/HashSet的默认toString()方法,该方法在打印值时默认附加[],因此对于您的情况,您可以使用具有重写toString()的集合方法,或者只编写自定义toString方法并调用它而不是默认的toString方法
下面是一个示例实现,如果它是HashSet
private String getHashSetString(Set<String> myset){
StringBuilder sb = new StringBuilder();
Iterator<String> i = myset.iterator();
if (! i.hasNext())
return "";
for (;;) {
Long e = i.next();
sb.append(e);
if (! i.hasNext())
return sb.toString();
sb.append(",");
}
}
写
我开始编辑这个乱七八糟的东西,但意识到我不知道什么是比率按钮。DYMJRadioButton
?您还想吐出字符串
还是拆分它?对于以后的帖子,你可能需要更仔细地阅读,因为这个问题听起来像是胡说八道。我开始编辑这个乱七八糟的帖子,但意识到我不知道“比率”按钮是什么。DYMJRadioButton
?您还想吐出字符串
还是拆分它?对于以后的帖子,你可能需要更仔细地复习,因为这个问题读起来像胡说八道。