`
li200429
  • 浏览: 149745 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

java代码中应注意的地方

    博客分类:
  • java
阅读更多

 

最近在写一个项目的代码,review的时候发现了一些问题,是需要积累和总结的经难,帮总结如下:
    1.Map的遍历

以前对Map的遍历,都使用EntrySet,其实有更好的方式,代码如下:

 

public class Test {

	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("arg1", "hello1");
		map.put("arg2", "hello2");
		map.put("arg3", "hello3");
		
		Collection<String> keys = map.keySet();
		for(String key : keys) {
			String val = map.get(key);	
			System.out.println("key=" + key + ",value=" + val);
		}
		
	}
}

 

 

2. 数组的问题

字符串需要split时,split里的参数是正则表达式,比如字符串d|test|1234,需要split,代码应该写成:

 

String str = "p|test|1234";
String args[] = str.split("\\|");

  这样写的代码,生成的字符数组长度为3。

 

 另外,对数组的取值时,比如上例中需要取args[2],则需要对数组的长度进行判断,否则会出现越界的情况而报错。

 

3.全局变量与局部变量

如果代码里有共享的部分,那么需要写成全局变量。全局变量就需要考虑并发安全的问题。

  如果是局部变量,那就不需要考虑。

比如HashMap这种类型就不是线程安全的,用作全局变量不合适。如果有并发问题,需要使用CurrentHashMap,但是这种线程安全的类肯定是有性能开销的。

 

分享到:
评论

相关推荐

    Java课件以及代码

     程序中除了加入适当的空白外,还应使用缩进格式,使得同一层语句的起始列位置相同 不提倡的程序风格  一种不好的风格 class Point {int x,y;Point(int x1,int y1) {x=x1; y=y1;} Point() {this(0,0);} void ...

    发送会议邮件预约日程以及修改取消java代码

    1.使用java发送 日程 会议邮件 可以达到安排别人日程预约的目的,代码如下。这个网上教程和多,但是如果已经发送了日程,又需要使用代码进行...需要注意的地方:日程格式要完全正确,空格都不能有。 附上代码和POM文件

    秦小波-编写高质量代码:改善Java程序的151个建议(带索引书签目录高清扫描版).pdf

    内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出...

    Thinking in Java简体中文(全)

    附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/...

    柯基犬断尾注意事项分析,java设计柯基犬从小到大养成计划小游戏代码.docx

    # 柯基犬断尾注意事项分析,java设计柯基犬从小到大养成计划小游戏代码 该文档分为两部分,第一部分是有关柯基犬断尾的注意事项分析,第二部分是java设计的柯基犬从小到大养成计划小游戏代码。 ## 柯基犬断尾注意...

    Java实战开发(李兴华)——代码部分

    在学习编程语言时,环境、代码调试等,都是很多读者最头疼的地方,而且很多代码都会存在一些细节上的问题,所以,《Java开发实战经典(名师讲坛)》为了让读者可以更好地理解每一个知识点,将书中所有内容都录制成了...

    java联想(中文)

    附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/...

    编写高质量代码之Java_nodrm.azw3

    内容全部由java编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出...

    Java中this与super的区别

    要注意的是this只能在类中的非静态方法中使用, 静态方法和静态的代码块中绝对不能出现this。this也可作为构造函数来使用。在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针, 而...

    Java集成云打印机(芯烨云)——代码篇

    Java集成云打印机(芯烨云)——代码篇 芯烨云自动接单自动打印,无需手机、电脑、人工,打印机在任何地方都可以打印订单,不受距离的限制。顾客通过微信、收银系统提交订单后,云打印机会在数秒内自动打印订单。...

    JAVA初级入门教程

    JAVA去除了C/C++的一些复杂且较少使用的功能,并使常用以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一...

    基于Java实现的动物拯救游戏源代码

    这里是操控玩家等级和进度的地方, 在游戏中有欢迎玩家,介绍游戏规则,或者直接进 入具体演示,以节省时间。 理想情况下,在这个阶段,一些元素将被保存或从磁盘中导入。在 java 中,备份的方 法很简单,就是让你的...

    java学习笔记 自己的笔记都以注释的形式写在代码里面

    java学习笔记 简介: java 学习笔记。... 不包括书中有关图形程序设计的部分,当然也不包括Java applet,还有一些书上标明可以暂时不看的部分。 可能我这样省略一些东西是过于浮躁了,有时间回头再看看吧。

    Java编写日历代码

    日历可以用多语言法来实现,他们的变成思想几乎没有变化,只是有些地方要注意

    java使用jna连接华视CVR-100UC读卡器

    由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...

    Java开发实战经典.zip

    环境、代码调试等,都是很多读者最头疼的地方,而且很多代码都会存在一些细节上的问题,所以,本书为了让读者可以更好地理解每一个知识点,将书中所有内容都录制成了视频,让每一位读者真正做到“轻松学Java、从零...

    Thinking in Java 中文第四版+习题答案

    附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3.1 @...

    java 编程入门思考

    附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/...

    Java初学者入门教学

    附录A 使用非Java代码 A.1 Java固有接口 A.1.1 调用固有方法 A.1.2 访问JNI函数:JNIEnv自变量 A.1.3 传递和使用Java对象 A.1.4 JNI和Java违例 A.1.5 JNI和线程处理 A.1.6 使用现成代码 A.2 微软的解决方案 A.3 J/...

    嵌入式系统/ARM技术中的Java基础:从C++转到Java需注意的地方

     Java源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个Java解释器最终执行这些代码。  Java源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个...

Global site tag (gtag.js) - Google Analytics