请教优化一段java代码

问题描述

请教各位,一下代码哪里能优化或者代码风格能优化的地方么,然后给个修改理由,非常感谢,初学java,希望知道哪样的才是工作中写的代码importorg.apache.commons.logging.LogFactory;publicclassAccountClass{privatefinaltransientstaticint[]values=newint[4];publicvoidaddValues(inti,intv){try{if(isOK(i)){values[i]=v;}}catch(ArrayIndexOutOfBoundsExceptione){LogFactory.getLog(getClass()).error("AccountClassindexerror:"+e.getMessage());}catch(Exceptione){LogFactory.getLog(this.getClass()).error("AccountClassexception:"+e.getMessage());}}privatebooleanisOK(intindex)throwsException{booleanb=index<values.length;if(b){returntrue;}returnfalse;}publicstaticvoidmain(String[]args){AccountClassac=newAccountClass();try{for(inti=0;i<values.length;i++){ac.addValues(i,i);}if(values[4]!=4){System.err.println("Badsum");}//Icombinethethreecatchestomulticatch}catch(IllegalArgumentException|ArrayIndexOutOfBoundsException|IllegalStateExceptione){LogFactory.getLog(AccountClass.class).error(e);}}}

解决方案

本帖最后由 ComputerMark 于 2014-08-27 04:16:07 编辑
解决方案二:
privatebooleanisOK(intindex)throwsException{returnindex<values.length;}

解决方案三:
isOK(intindex)不需要throwsException
解决方案四:
引用2楼xuxiaolei的回复:

isOK(intindex)不需要throwsException

感谢感谢,请问什么格式或者其它地方还有需要修改的么
解决方案五:
所有的异常信息都是不需要的,像数组越界这种异常,都是代码写的不健壮导致的,应该避免异常通常捕获检查型异常就可以了,像数组越界这种运行时异常,就不需要捕获了privatefinaltransientstaticint[]values=newint[4];publicvoidaddValues(inti,intv){if(isOK(i)){values[i]=v;}}privatebooleanisOK(intindex){returnindex<values.length;}publicstaticvoidmain(String[]args){AccountClassac=newAccountClass();for(inti=0;i<values.length;i++){ac.addValues(i,i);}if(values[4]!=4){System.err.println("Badsum");}}

解决方案六:
刚才没看代码,只是调整了下代码格式对了最后一行应该是if(values[3]!=4){System.err.println("Badsum");}

解决方案七:
引用5楼magi1201的回复:

刚才没看代码,只是调整了下代码格式对了最后一行应该是if(values[3]!=4){System.err.println("Badsum");}

谢谢谢谢,请问下if(values[3]!=4){System.err.println("Badsum");}

到底是个什么作用?
解决方案八:
引用6楼ComputerMark的回复:

请问下if(values[3]!=4){System.err.println("Badsum");}

到底是个什么作用?

这个是你的代码逻辑,没细看代码要做什么

时间: 2024-08-06 05:37:36

请教优化一段java代码的相关文章

优化-这段java代码如何优雅的实现?

问题描述 这段java代码如何优雅的实现? for(AbstractResponse resp : responseList) { if (resp instanceof AResponse) { AResponse areponse = (AResponse)resp; //1 //2 //3 }else if (resp instanceof BResponse) { BResponse breponse = (BResponse)resp; //1 //2 //3 }else if (re

Linkedin工程师是如何优化他们的Java代码的(转)

  英文原文:LinkedIn Feed: Faster with Less JVM Garbage 最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文.这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示). 在Feed Mixer里面用到了一个叫做SPR(念"super")的库.博文讲的就是如何优化SPR的java代码.下面就是他们总结的

Linkedin 工程师如何优化他们的 Java 代码

最近在刷各大公司的技术博客的时候,我在Linkedin的技术博客上面发现了一篇很不错博文.这篇博文介绍了Linkedin信息流中间层Feed Mixer,它为Linkedin的Web主页,大学主页,公司主页以及客户端等多个分发渠道提供支撑(如下图所示). 在Feed Mixer里面用到了一个叫做SPR(念"super")的库.博文讲的就是如何优化SPR的java代码.下面就是他们总结的优化经验. 1. 谨慎对待Java的循环遍历 Java中的列表遍历可比它看起来要麻烦多了.就以下面两段

线程-下面是一段Java代码,里面有几处看不懂,望大神指教,不胜感激。

问题描述 下面是一段Java代码,里面有几处看不懂,望大神指教,不胜感激. package 线程; import java.awt.*;import java.awt.event.*; import javax.swing.*; public class TestThread extends JFrame { /** * */ //private static final long serialVersionUID = 1L; JPanel jPanel1 = new JPanel(); JBu

页面上有个textarea,在里面写java代码,然后如何动态编译执行这段java代码??

问题描述 页面上有个textarea,在里面写java代码,然后如何动态编译执行这段java代码?? 页面上有个textarea,在里面写java代码,然后如何动态编译执行这段java代码?? 解决方案 可以使用一些前端的模板引擎,java是编译的 解决方案二: ajax提交客户端输入的代码动态执行就行,看下面参考 ajax提交http://www.w3school.com.cn/jquery/ java中怎么执行字符串中的代码http://bbs.csdn.net/topics/3903563

得到一段java代码,哪位大侠可以帮忙看看它的作用?

问题描述 得到一段java代码,哪位大侠可以帮忙看看它的作用?packageutil;importjava.io.*;importjava.util.Enumeration;importjava.util.Hashtable;importjavax.microedition.io.Connector;importjavax.microedition.io.HttpConnection;importnetpay.a;//Referencedclassesofpackageutil://bpubli

java-求解 这段 JAVA 代码 怎么改 才能运行 太晕了

问题描述 求解 这段 JAVA 代码 怎么改 才能运行 太晕了 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/'; arra

java8-谁能帮我解释下这段Java代码

问题描述 谁能帮我解释下这段Java代码 public class CollectionDemo { public static void main(String[] args) { Collection list= new ArrayList(); list.add("a"); list.add("b"); list.add("c"); list.iterator().forEachRemaining(lang->System.out.p

在下面这段java代码中,怎么获取文件大小 ,如果再加上图片尺寸更好。

问题描述 在下面这段java代码中,怎么获取文件大小 ,如果再加上图片尺寸更好. public static List> uploadFile(HttpServletRequest request, String[] params, Map values) throws Exception { List<Map<String, Object>> result = new ArrayList<Map<String, Object>>(); Multipa