java获取sql数据库中数据时输出乱码(高分)

来源:百度知道 编辑:UC知道 时间:2024/06/14 19:43:39
昨天刚把java连上sql数据库,今天在eclipse上做了一个算法,需要调用sql数据库中的数据,出现如下错误,好像是乱码:
Symptom=Symptom_table@3e0ebb
Symptom=Symptom_table@39443f
Symptom=Symptom_table@1afae45
Symptom=Symptom_table@da4b71
Symptom=Symptom_table@18f1d7e
Symptom=Symptom_table@d9660d
Symptom=Symptom_table@bb0d0d
Symptom=Symptom_table@55e55f
Symptom=Symptom_table@145c859
Symptom=Symptom_table@64883c
Symptom=Symptom_table@2c1e6b
Symptom=Symptom_table@811c88
Symptom=Symptom_table@785d65
Symptom=Symptom_table@3bc257
Symptom=Symptom_table@153f67e
Symptom=Symptom_table@15bdc50
Symptom=Symptom_table@1dd3812
Symptom=Symptom_table@8c436b
Symptom=Symptom_table@9e5c73
Symptom=Symptom_table@c791b9
Symptom=Symptom_table@3020ad
Symptom=Symptom_table@7f4ec
Symptom=Symptom_table@60e128
Symptom=Symptom_table@5e1077
Symptom=Symptom_table@18b3364
Symptom=Symptom_table@1db05b2
Symptom=Symptom_table@530cf2
Sympto

不是乱码,是因为是输出的是一个类对象。System.out.println("Symptom="+Symptom[i]); Symptom[i]是Symptom_table的一个实例,而且你定义的类Symptom_table没有toString()方法,所以在print这个类的实例时就出现这样的情况,要想输出这个类的各参数,可以写成
System.out.println("Symptom="+Symptom[i].SymptomNum + " " + Symptom[i].Symptom);
也可以在类Symptom_table中定义一个toString()方法,在这个方法里把各个参数连成一个字符串,这样用System.out.println("Symptom="+Symptom[i]); 输出时就不会出现这种情况了

Symptom_table 是个对象,对象直接输出只会输出这个对象的地址..

for(i=0;i<Symptom.length;i++)

System.out.println("Symptom="+Symptom[i]);
Symptom_table ss= (Symptom_table)Symptom[i];
System.out.println(ss.getXXXXX);
}

而且,你下面的类Symptom_table都没写完整,没有get函数,构造函数的实现你也给封了......