java – 如何从try / catch块中获取变量?
发布时间:2020-12-14 05:49:32 所属栏目:Java 来源:网络整理
导读:我一直试图让这个正确的2天,我准备扔东西….. 我有一个JSONArray,我正在try / catch块中处理,但它似乎没有在最后传递变量. 我的代码: try{ //Get the element that holds the results ( JSONArray ) JSONArray getresults = json.getJSONArray("results");
我一直试图让这个正确的2天,我准备扔东西…..
我有一个JSONArray,我正在try / catch块中处理,但它似乎没有在最后传递变量. 我的代码: try{ //Get the element that holds the results ( JSONArray ) JSONArray getresults = json.getJSONArray("results"); //Loop the Array for(int i=0;i < getresults.length();i++){ HashMap<String,String> map = new HashMap<String,String>(); JSONObject e = getresults.getJSONObject(i); totalpass = e.getJSONObject(i).getString("ftotalpass"); } } catch(JSONException e) { Log.e("log_tag","Error parsing data "+e.toString()); } 我已尝试在try / catch块之前,之后,之后声明变量的所有庄园,但我无法将其传递给我的其余代码. 我究竟做错了什么? 解决方法
嗯…
你可以在外面宣布它.如 JSONArray results = null; try { results = json.getJSONArray("results"); }... 这样你可以在外面访问它,但一定要使用if来查看它是否为null. 如果你没有把JSONArray results = null,编译器可能会抱怨没有被初始化的变量. 进一步说明: 这是因为范围.当您在try中声明时,变量的范围在try结束时结束.当你在if中声明,当if结束时,不再能访问该变量.这对于临时变量非常有用,在这些变量中,您只使用它们进行比较或更好的代码可读性,内存重用等.(如果这甚至是单词,则为idk).无论如何,如果你的变量需要在类中的任何地方访问,那么最好将其声明为字段. 我没看过this explanation,但看起来不错.看一看. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java设计模式之建造者模式(Builder模式)介绍
- 详解Java的Spring框架中bean的定义以及生命周期
- java – Vaadin创建模态对话框窗口
- 平行世界中的你还是你吗?--java中的==是否相等
- Android 数据库 SQLiteOpenHelper
- java – Spark Job Server:“服务器无法及时响应您的请求”
- java – Hibernate / Spring – 在事务中回滚事务
- java – Heroku / Play / BoneCp连接问题
- javax.validation.ConstraintValidationException:类的验证
- 在Java中创建线程池的最佳方法是什么