【原】个人java项目经验总结
来源:互联网 发布:如何使用大数据分析 编辑:程序博客网 时间:2024/06/05 00:51
写在前面的话
-“虽然我之前没做过xxx,不过用xxx应该很简单。”
-“没做过就别说很简单!”
目录
一、运算符,基本类型和四则运算
1.1 负数的余数,如何优雅地避免数组下标越界
1.2 你确定你的if判断式里是'=='而不是=?
二、类,接口的设计
2.1 参数列表的设计
2.2 类的分类
2.3 用return进行逻辑控制
2.4 灵活地重写某GUI的Action类,用匿名内部类
三、文件,输入输出
3.1 (zz)文件编码,java读写文件时的编码
四、IDE相关
4.1 IDEA中某变量为灰色(Dark主题下)不等价于该变量没有用
------------------------------------------------
1. 基本类型和四则运算
1.1 负数的余数,如何优雅地避免数组下标越界
-1%3=?
有两种答案:-1和2
java中用的是第一种,为了避免出现-1,抛出ArrayIndexOut的Error,所以获取数组上一个元素应该这么写,
<T> elementBefore(int x){ return array[ (array.length + x - 1) % array.length ];}避免了使用if语句判读是否越界,优雅。
1.2 你确定你的if判断式里是'=='而不是=?
二、类,接口的设计
2.1 参数列表的设计
3个以上同类型变量用数组传参,配合int参数指定数组中各个变量的功能
2.2 类的分类
UI类的焦点控制类应该和UI类放在同一目录下,而不是和调用该UI的类放在同一目录
2.3 用return进行逻辑控制
尤其是actionListenner中实现多种逻辑时,新增一个跳出逻辑只需要加入if (...) {return;}即可不执行之后的代码,优雅。
2.4 灵活地重写某GUI的Action类,用匿名内部类
需求描述:有一个new JButton(new ThisAction(arg1,arg2)),现在需要仅在当前类中修改ThisAction的事件监听逻辑。
new JButton( new ImagePreviewAction(DeviceCurveDialog.this,previewContext) { @Override public void actionPerformed(ActionEvent event) { if (isNameEmpty()) { return; } super.actionPerformed(event); } } )
三、文件,输入输出
3.1 (zz)文件编码,java读写文件时的编码
File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc"); InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8"); BufferedReader reader=new BufferedReader(read); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } File f = new File("E:\\eclipse\\workspace\\box\\Data\\2003-3-7-100.inc");InputStreamReader read = new InputStreamReader (new FileInputStream(f),"UTF-8");BufferedReader reader=new BufferedReader(read);String line; while ((line = reader.readLine()) != null){System.out.println(line);}
String流的时候要这么作。
2.写文件
File file = new File("c:\a.test");Writer writer = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");writer.write("中文测试");writer.close();
四、IDE相关
4.1 IDEA中某变量为灰色(Dark主题下)不等价于该变量没有用
一般这个时候你用crtl+鼠标左键点击该变量发现没有导航。不要以为这个变量在程序里就没用到了。有一种情况是,该变量初始化后没被调用。但是在初始化的时候,该变量已经和某些逻辑绑定了。
比如说:
private JButton defaultNameButton;...defaultNameButton = button(cc.xy(3, 1), createDefaultNameAction());
- 【原】个人java项目经验总结
- java项目管理经验总结
- JAVA项目开发经验总结
- java项目开发经验总结
- java项目开发经验总结
- 关于项目管理的个人经验总结
- 如何架构一个ios项目 个人经验总结
- 如何架构一个ios项目 个人经验总结
- 如何架构一个ios项目 个人经验总结
- 如何架构一个ios项目 个人经验总结
- 如何架构一个ios项目 个人经验总结
- 个人经验总结
- 个人经验总结
- Java Web项目开发项目经验总结
- Java Web项目开发项目经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结【转】
- 项目管理心得:一个项目经理的个人体会、经验总结
- 项目管理心得:一个项目经理的个人体会、经验总结
- HDU - 3046 Pleasant sheep and big big wolf(最小割)
- hdu5327 Olympiad(数组前缀和+set判重)
- 网络分析软件和linux下网络性能测试软件iperf
- Spring依赖注入(DI)
- easyUI数据统计列表中根据单元格数值控制显示效果
- 【原】个人java项目经验总结
- 推荐!手把手教你使用Git
- UVA 10881 Piotr's Ants
- 排序专项练习
- 使ROW_NUMBER() OVER给查询结果集添加序号
- org.w3c.dom.Node 转换成xml string
- SOAPUI系列01-SOAPUI 安装
- Android笔记(十八)加速度传感器
- 重新学习JAVA