Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java.util.List元素转换为字符串java_Java_Hibernate - Fatal编程技术网

将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)
将返回一个
对象[]
,其中:

  • results.get(0)[0]
    ->subject.code
  • results.get(0)[1]
    ->subject.name
因此,当调用
String.valueOf(results.get(0))
时,您将尝试获取对象数组的字符串表示形式,这将不是您所期望的。。。不同的项以某种方式分开,但将是一个原始数组,后跟一个哈希表示

使用items
toString
方法获取项目表示的最简单方法是使用静态实用程序
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()
方法的结果。。。