iT邦幫忙

0

[JAVA]map在不同Function間調用?

請問若我在queryData這邊使用map後
要怎麼在另一個地方做get的動作?

private ArrayList<A> queryData(Connection conn, HttpServletRequest request, Aform) {
Map<String, String> map = new HashMap<String, String>();
map.put("A", "1");
map.put("B", "2");
}

public ActionForward exportData(ActionMapping mapping,
ActionForm form, HttpServletRequest request, HttpServletResponse response) {

map.get("A") <--怎麼在這邊使用map.get
map.get("B") <--怎麼在這邊使用map.get

}	
附帶一提,queryData()與exportData()這兩個方法並非標註void方法,應該要有return 吧!

1 個回答

2
darwin0616
iT邦新手 3 級 ‧ 2018-10-07 13:17:38

問題在於你把map變數
宣告在 queryData()方法中, exportData()方法不認識 map 這個宣告變數
https://ithelp.ithome.com.tw/upload/images/20181007/20109107v0o6BZWlP0.png

貼個 IntellJ 的截圖給你參考:(可正確取到 key=A 的 value=1)
https://ithelp.ithome.com.tw/upload/images/20181007/20109107P1mquoGvPt.png

java中,一般非繼承變數的生命週期,在方法區塊的"}"後就被GC了!
儘量用 IDE工具 的下拉選單可避免語法錯誤
如果下拉選單沒有,就表示宣告變數的位置或權限有問題!
https://ithelp.ithome.com.tw/upload/images/20181007/2010910727Awh4965p.png

我要發表回答

立即登入回答