求解:字符串转换

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"
方法愈简单愈好
...全文
3 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-04-08 07:33
社区公告
暂无公告