簡體   English   中英

Java 1.6 arraylist對象無法轉換為字符串

[英]java 1.6 arraylist object cannot cast to string

我在嘗試讀取高峰時段列表中的內容時遇到問題。 我收到的錯誤是java.lang.object無法轉換為java.lang.String。
我正在使用Java 1.6時,此問題有任何可能的解決方法嗎?

Delegate.java

 List peakPeriod = new ArrayList();  
 try{
     peakPeriod = Dao.retrievePeakPeriod("2017");
 for (Iterator i=peakPeriod.iterator(); i.hasNext(); {
     System.out.println("Peak Periods:"+(String)i.next());
 }
 catch(Exception e){ System.out.println("Error:"+e);}

public List retrievePeakPeriod(String year) throws DataAccessException;

DaoImpl.java

public List retrievePeakPeriod(String year) throws DataAccessException {
    List list = getHibernateTemplate().find("select cal.startdate,cal.enddate from Calendar cal " +
            "where to_char(cal.startdate,'yyyy') = ?",
            new Object[] { year },
            new Type[] { Hibernate.STRING });

    return list;
}
System.out.println("Peak Periods:"+ i.next());

您不必將其強制轉換為String-Java將自動調用toString()方法,因此上述等效於:

System.out.println("Peak Periods:"+ i.next().toString());

如果您的列表可以包含空值,則可以執行更安全的操作,例如:

System.out.println("Peak Periods:"+ String.valueOf(i.next()));

編輯:這假定返回的對象具有有用的toString表示形式,這就是您想要的。 否則,您需要確定返回的對象的類型(類)並根據需要進行處理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM