求解:字符串转换

anhuihefei 2003-04-08 07:33:06
有一个表:tableA(ID,Name)
内容: a dog
b pig
c chick

在JSP中,如何将 String str="a,b,c" 转换为 String strn="dog,pig,chick"
方法愈简单愈好
...全文
27 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GFox 2003-04-24
  • 打赏
  • 举报
回复
要这么麻烦吗?将表从DB读出后放在一个map里,要用的时候就从map里取出来就行了嘛
anhuihefei 2003-04-24
  • 打赏
  • 举报
回复
我自己解决了代码如下,请大家指正。

用法:
IDs2Name uI2N = new IDs2Name("UserID","UserName","users");
uI2N.getFullName("a,b");

//返回:dog,pig


*********************
IDs2Name.java

import java.util.*;
import java.sql.*;
import common.DBSQL;


public class IDs2Name {
HashMap map;
/**
* 构造函数
*/
public IDs2Name(String sFrom,String sTo,String sTable) {
DBSQL db = new DBSQL();
db.openDB();
map = new HashMap();
String strSQL="select "+sFrom+","+sTo+" From "+sTable;
try {
ResultSet sqlRst = db.executeQuery(strSQL);
while (sqlRst.next()) {
appendValue(map,sqlRst.getString(1),sqlRst.getString(2));
}
sqlRst.close();
db.closeDB();
} catch (SQLException ex) {
System.err.println("aq.executeQuery: " + ex.getMessage());
}
finally{
if(db!=null){
db=null;
}
}
}


void appendValue(HashMap map, String name, String value) {
map.put(name, value);
}

String getValue(HashMap map, String name) {
return (String) map.get(name);
}


/**
* getFullName
* @uids 要转换的String
*/
public String getFullName(String uids,String dim){
String names="";
StringTokenizer st = new StringTokenizer(uids,dim);
int i=st.countTokens();
String temp="";
while (st.hasMoreTokens()) {
temp=st.nextToken();
names+=getValue(map,temp);
names=names+dim+getValue(map,temp);
}
if(names.length()>0){
names=names.substring(1);
}
return names;
}


public String getFullName(String uids){
String names="";
String dim=",";
StringTokenizer st = new StringTokenizer(uids,dim);
int i=st.countTokens();
String temp="";
while (st.hasMoreTokens()) {
temp=st.nextToken();
names=names+dim+getValue(map,temp);
}
if(names.length()>0){
names=names.substring(1);
}
return names;
}

}
walkfish 2003-04-09
  • 打赏
  • 举报
回复
频繁的查询数据库也许是很好资源,但很多时候是难以避免的。
也许可以定义一个静态类,或者在主程序中定义一个静态ArrayList.
这只是个建议,更好的解决方法我也在寻找中...
anhuihefei 2003-04-09
  • 打赏
  • 举报
回复
to walkfish(散步的鱼) 如果数组元素很多,而且要多次使用该功能,这样频繁的查询数据库其不是很耗资源?
我的意思是能不能把表的内容取到array或map里然后反复使用。如果可以请教如何具体实现?
dawnming 2003-04-08
  • 打赏
  • 举报
回复
agree
walkfish 2003-04-08
  • 打赏
  • 举报
回复
用String类的split方法,将str拆成数组,然后用数组每一个元素作为查询条件,将结果拼成strn

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧