最近在写一个项目的代码,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,但是这种线程安全的类肯定是有性能开销的。
分享到:
相关推荐
程序中除了加入适当的空白外,还应使用缩进格式,使得同一层语句的起始列位置相同 不提倡的程序风格 一种不好的风格 class Point {int x,y;Point(int x1,int y1) {x=x1; y=y1;} Point() {this(0,0);} void ...
1.使用java发送 日程 会议邮件 可以达到安排别人日程预约的目的,代码如下。这个网上教程和多,但是如果已经发送了日程,又需要使用代码进行...需要注意的地方:日程格式要完全正确,空格都不能有。 附上代码和POM文件
内容全部由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设计柯基犬从小到大养成计划小游戏代码 该文档分为两部分,第一部分是有关柯基犬断尾的注意事项分析,第二部分是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编码的最佳实践组成,从语法、程序设计和架构、工具和框架、编码风格和编程思想等五大方面,对java程序员遇到的各种棘手的疑难问题给出了经验性的解决方案,为java程序员如何编写高质量的java代码提出...
要注意的是this只能在类中的非静态方法中使用, 静态方法和静态的代码块中绝对不能出现this。this也可作为构造函数来使用。在后面可以看到 而什么是super,可以理解为是指向自己超(父)类对象的一个指针, 而...
Java集成云打印机(芯烨云)——代码篇 芯烨云自动接单自动打印,无需手机、电脑、人工,打印机在任何地方都可以打印订单,不受距离的限制。顾客通过微信、收银系统提交订单后,云打印机会在数秒内自动打印订单。...
JAVA去除了C/C++的一些复杂且较少使用的功能,并使常用以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一...
这里是操控玩家等级和进度的地方, 在游戏中有欢迎玩家,介绍游戏规则,或者直接进 入具体演示,以节省时间。 理想情况下,在这个阶段,一些元素将被保存或从磁盘中导入。在 java 中,备份的方 法很简单,就是让你的...
java学习笔记 简介: java 学习笔记。... 不包括书中有关图形程序设计的部分,当然也不包括Java applet,还有一些书上标明可以暂时不看的部分。 可能我这样省略一些东西是过于浮躁了,有时间回头再看看吧。
日历可以用多语言法来实现,他们的变成思想几乎没有变化,只是有些地方要注意
由于java提供jni有诸多不便,再加上我很菜,c这些东西全还给了老师了,所以还是选用jna调用,代码什么的都放在附件中了,jna的使用其实还是挺简单的,网上有很多相关的示例,但是就是需要注意一些dll文件路径,参数...
环境、代码调试等,都是很多读者最头疼的地方,而且很多代码都会存在一些细节上的问题,所以,本书为了让读者可以更好地理解每一个知识点,将书中所有内容都录制成了视频,让每一位读者真正做到“轻松学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 @...
附录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/...
附录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源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个Java解释器最终执行这些代码。 Java源代码并不是被编译成为普通的机器代码。而是被翻译成为虚拟机可以执行的代码。一个...