JAVA开发随记

想到一点写一点,遇到一点补充一点。

1、成员变量

在定义成员变量时尽量不要直接赋值,最好是在初始化信息的时候进行赋值操作。如果需要在属性定义的时候进行赋值,那么请用final修饰该属性。错误实例

class A extends B {/** 到期日距离当前时间默认值 */private int maxDueYear = 2;public A() {super();showMaxDueYear();}@Overrideprotected void bind() {maxDueYear = XXservice.getDueDateMaxYear();// 读取数据库配置}/*** 显示数据库存储的对应数据值*/private void showMaxDueYear(){System.out.println(maxDueYear);//恒等于2}
}class B{protected B() {bind();}protected void bind(){};
}	/** 到期日距离当前时间默认值 */private int maxDueYear = 2;public A() {super();showMaxDueYear();}@Overrideprotected void bind() {maxDueYear = XXservice.getDueDateMaxYear();// 读取数据库配置}/*** 显示数据库存储的对应数据值*/private void showMaxDueYear(){System.out.println(maxDueYear);//恒等于2}
}class B{protected B() {bind();}protected void bind(){};
}


尽量使用标准的Bean开设置VO对象。

 

在通过JAVA去编辑界面时(类似GWT,SWT)都可以通过对象.属性去获取VO对象属性的
值。不过当这样获取属性值时,需要将属性定义为public,破坏了Bean约定。

 

其实通过查看源码,你会发现,编译器在获取VO对象值的时候,都是通过get方法去获取的。我们完全可以通过新建一个get方法来完成同样的事情。

public static final String[] PROPS = { "child.code", "child.name"};//model对应VO的值
class C{public D child;public D getChild() {return child;}public void setChild(D child) {this.child = child;}}
class D{private String code;private String name;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}	public D child;public D getChild() {return child;}public void setChild(D child) {this.child = child;}}
class D{private String code;private String name;public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getName() {return name;}public void setName(String name) {this.name = name;}
}

换种方式

public static final String[] PROPS = { "childCode", "childName"};//model对应VO的值
class C{private D child;public D getChild() {return child;}public void setChild(D child) {this.child = child;}public String getChildCode(){return child.getCode();}public String getChildName(){return child.getName();}}

2、关于JAVA时间类的操作

在使用时间类时,最好先建立一个统一的工具类,大家在使用时都严格按照工具类的约定去执行。

3、泛型

好久没用泛型,记一下,加深下映象

private <K, V> void putInfoToMap(Map<K, Set<V>> map, K key, V value) {if (!map.keySet().contains(key)) {map.put(key, new HashSet<V>());}map.get(key).add(value);
}

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP反射ReflectionClass、ReflectionMethod 入门教程

PHP反射ReflectionClass、ReflectionMethod 入门教程 作者&#xff1a;SNSGOU 发布于&#xff1a;2014-03-16 16:44:00 分类&#xff1a;PHP 浏览(6145) PHP5 具有完整的反射API&#xff0c;添加对类、接口、函数、方法和扩展进行反向工程的能力。 反射是什么&#xff…

Oracle开发常用知识

一、利用游标实现循环嵌套 在对oracle数据进行操作时我们会经常碰到循环甚至循环嵌套的情况。这个时候游标的作用就体现出来了。 DECLAREvId NUMBER(19);vDate DATE;--a表游标定义CURSOR a_cursor ISSELECT DISTINCT o.employeeId FROM operations o WHERE o.employeeId IS N…

条件控制(if ) ( case)

一&#xff1a;IF应用格式 (1)                  (2)                (3) IF 条件 THEN           IF 条件 THEN            IF 条件1 THEN --代码块               --代码块          …

使用临时表解决union和order by不能同时使用的问题

最近遇见了这样一个问题&#xff0c;有4张表&#xff0c;A&#xff08;单据&#xff09;表&#xff0c;B&#xff08;产品&#xff09;表&#xff0c;C&#xff08;产品类型&#xff09;&#xff0c;D&#xff08;单据产品关联表&#xff09;。 B表有唯一对应的类型C&#xff…

2.3线性表的链式存储和运算—双向链表

以上讨论的单链表的结点中只有一个指向其后继结点的指针域next&#xff0c;因此若已知某结点的指针为p&#xff0c;其后继结点的指针则为p->next &#xff0c;而找其前驱则只能从该链表的头指针开始&#xff0c;顺着各结点的next 域进行&#xff0c;也就是说找后继的时间性能…

Oracle常用字符串操作

参考&#xff1a; 一、oracle操作字符串&#xff1a;拼接、替换、截取、查找&#xff1b; 二、oracle中的trim函数使用介绍 --字符串去空格 --输出:a b c; SELECT TRIM( a b c ) || ; FROM dual; SELECT TRIM(BOTH FROM a b c ) || ; FROM dual; --输出: a …

linux下面安装maven

maven作为最近比较火的项目管理工具&#xff0c;对项目的jar包及其开元添加相应的插件的管理&#xff0c;很方便。 安装maven&#xff1a; 在官网上面去下载最新的maven的压缩包&#xff0c;apache-maven-3.3.1-bin.tar.gz. 将下载的压缩包保存/usr/local/maven下&#xff0c;进…

Hibernate懒加载问题

刚开始接触这种数据持久化框架时&#xff0c;使用的是Maybatis&#xff0c;相较于最原始的JDBCSQL模式&#xff0c;Maybatis简直就是神器&#xff0c;特别是在用过Maybatis动态SQL后&#xff0c;简直就开始对Maybatis爱不释手。后来工作要求&#xff0c;又接触到了Hibernate&am…

实现点击按钮后,倒计时60秒才能再次点击

转载于:https://www.cnblogs.com/liu201312/p/4447710.html

通过栈(Stack)实现对树的遍历

说到数的遍历树&#xff0c;长期以来的第一印象都是通过递归去实现。然而今天看了某位前辈的代码&#xff0c;才发现使用栈去实现遍历是那么简单。理论上通过数组也是可以实现同等功能的&#xff0c;毕竟Stack也是通过数据去实现的。 package com.sysway.ui.widget;import jav…

设计模式_01_单一原则

设计模式_01_单一原则 package designPatternOf_01; /*** 单一原则示例&#xff1a;动物呼吸* 引入的问题&#xff1a;鱼不吸空气&#xff0c;吸水*/ public class SinglePrinciple_01 {public static void main(String[] args) {Animal animalnew Animal();animal.breath(&quo…

StroyBoard中UICollectionView中添加Header和footer

到Storyboard中&#xff0c;选择collection view controller中的"Collection View"。在Attributes inspector中&#xff0c;选择"Section Header"和"Section Footer",一旦选中你就会在屏幕中看到下面的的显示&#xff1a; 最重要的是&#xff0c…

树形结构数据汇总查询解决方案+优化求助

最近遇到一个地区数据汇总的问题&#xff0c;地区下的地址呈树形结构&#xff0c;&#xff08;简化结构&#xff09;如A市下有B、C区&#xff0c;B区下有D、E街道。先要查询所有地区的人数&#xff08;包括子区域&#xff09;&#xff0c;如A的人数直属A的人数B的人数C的人数D的…

find 是区分大小写的。对于不区分大小写的写法(转载)

转自&#xff1a;http://justwinit.cn/post/3633/ 默认情况下&#xff0c;find 是区分大小写的。对于不区分大小写的 find&#xff0c;将 -iname 测试替换为 -name 测试。find downloads -iname "*.gif"downloads/.xvpics/Calendar05_enlarged.gifdownloads/lcmgcfe…

ORACLE会话以及SQL执行信息查询

select t.BLOCKING_SESSION,t.SQL_ID,t.SID,t.SERIAL#,t.MACHINE,t.PROGRAM,t.ACTION,t.LOGON_TIME "登录时间",trunc((sysdate - t.LOGON_TIME) * 24 * 60 * 60) || s "登录时长",trunc(nvl(s.ELAPSED_TIME / decode(s.EXECUTIONS, 0, 1, s.EXECUTIONS) /…

Dom4j 学习笔记

dom4j 是一种解析 XML 文档的开放源代码 XML 框架。dom4j下载地址 本文主要记载了一些简单的使用方法。 一、xml文件的解析 dom4j既可以解析普通的xml文件&#xff0c;也可以解析一个InputStream&#xff0c;先看看xml文件长什么样子&#xff1a; <books><book>&l…

交叉连接(CROSS JOIN)的实际应用

一次偶然的机会&#xff0c;使用到了万年不用的交叉连接&#xff08;CROSS JOIN&#xff09; 业务场景如下&#xff1a; 1、存在多个运营商&#xff0c;每个运营商下面都有各种类型的设备&#xff0c;不同运营商的设备不完全相同&#xff1b; 2、任何设备有且仅有两种用途‘…

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结

Atitit.操作注册表 树形数据库 注册表的历史 java版本类库总结 1. 注册表是树形数据库 1 2. 注册表的由来 1 3. Java 操作注册表 2 3.1. 使用Preferences API &#xff08;限定访问路径了&#xff09; 2 3.2. 使用JNI 3 3.3. Jregistrykey 推荐 4 3.4. Jregistry 4 4. org.ope…

C# xml文件读取与修改

c#读写xml文件已知有一个XML文件&#xff08;bookstore.xml&#xff09;如下&#xff1a; Code<?xml version"1.0" encoding"gb2312"?><bookstore> <book genre"fantasy" ISBN"2-3631-4"> <title>Obero…

外连接从表过滤

1、使用left join时从表的过滤 WITH a AS( SELECT A aid FROM dual UNION ALL SELECT B FROM dual UNION ALL SELECT C FROM dual UNION ALL SELECT D FROM dual UNION ALL SELECT E FROM dual ), b AS( SELECT A aid,10 num,1 type FROM dual UNION ALL SELECT B,20,2 FROM d…