将java.util.List元素转换为字符串java
我正在用数据库写一个程序 我正在使用将java.util.List元素转换为字符串java,java,hibernate,Java,Hibernate,我正在用数据库写一个程序 我正在使用org.hibernate.Query对象查询数据库以从中获取一项 我需要将此项的内容设置为JTextField组件的值 问题是,我不知道如何将java.util.List项转换为一个String,我可以在setText(getCodeOfSub(String nameofsubj))方法中使用它: public String getCodeOfSub(String nameOfTheSubj){ Session session = Service.g
org.hibernate.Query
对象查询数据库以从中获取一项
我需要将此项的内容设置为JTextField
组件的值
问题是,我不知道如何将java.util.List
项转换为一个String
,我可以在setText(getCodeOfSub(String nameofsubj))
方法中使用它:
public String getCodeOfSub(String nameOfTheSubj){
Session session = Service.getSession();
org.hibernate.Query query = session.createQuery("SELECT subject.subjectCode, subject.name " +
"FROM SubjectEntity subject WHERE subject.name="+"'"
+nameOfTheSubj+"'");
java.util.List results = query.list();
if(!results.isEmpty()) {
return String.valueOf(results.get(0));
}
session.close();
return null;
}
调用
org.hibernate.Query#list
时,您将得到一个列表
,这意味着一个行列表,其中每一行将包含一个对象表示,但在您的情况下,它将是一个由两个项组成的数组,分别是subject.code和subject.name
因此本质上,results.get(0)
将返回一个对象[]
,其中:
->subject.coderesults.get(0)[0]
->subject.nameresults.get(0)[1]
String.valueOf(results.get(0))
时,您将尝试获取对象数组的字符串表示形式,这将不是您所期望的。。。不同的项以某种方式分开,但将是一个原始数组,后跟一个哈希表示
使用itemstoString
方法获取项目表示的最简单方法是使用静态实用程序Arrays.asList(Object[])
,即:
//...
return String.valueOf(Arrays.asList(results.get(0)));
//...
下面是关于集合的toString
方法的说明:
返回指定内容的字符串表示形式
数组。字符串表示法由数组的
元素,用方括号(“[]”)括起。相邻元素是
由字符“,”分隔(逗号后跟空格)。
元素通过String.valueOf(int)转换为字符串。退换商品
如果a为null,则为“null”
为了更好地表示您的项目,您可能需要使用一些实用方法手动处理它们。。。我建议,A“
java.util.List
item”只是一个对象。您可以使用toString()
方法:返回结果。获取(0)。toString()
。如果显示不令人满意,请调查对象的类型结果。获取(0)
以从中获取信息。结果应该是什么类型的字符串?results.toString()
还好吗?[Ljava.lang.Object;@2a1504f3
这是results.get(0.toString()
方法的结果。。。