以前只知道大名鼎鼎的CSDN,却不知道CSDN论坛,去了几次CSDN后感觉没啥意思,后来工作了,项目做完无聊之余,又来到了CSDN,无意中发现了CSDN论坛,此坛怎一个火字了得,于是我每天都去的网站又多了一个。
自那次邂逅CSDN论坛,而来已一月有余,顶贴无数!今又值公司培训报表,无聊之至,特来发帖散分,以感谢各位奋战在编程第一线的挨踢民工们。
废话少说,下面都是我摘抄记录的,分享给新手看下,老鸟接分,不要笑话啊。1、return result.size() > 0;
这句代替
if(result.size() > 0) return true;
else return false;
总之很简洁啊。
2、用Integer.ValueOf(1)去代替new Integer(1);
API文档是这样说的:如果不需要新的 Integer 实例,则通常应优先使用该方法,而不是构造方法 Integer(int),
因为该方法有可能通过缓存经常请求的值而显著提高空间和时间性能。
源码是这样的:
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
3、写SQL语句的时候加上where 1=1 ,好处是你再加条件时就可以直接用and了,而不用再判断有没有where,
举个例子吧,说的不是很明白。
StringBuffer sql = new StringBuffer();
sql.append("SELECT NAME FROM EMP ");
if(...) sql.append(" WHERE ID=1");
if(...) sql.append(" AND ID2=1");//这时候用WHERE还是AND呢?
你会发现如果一开始就用了where 1=1,是多么的方便。
4、普通B/S模式(同步) AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
5、这是什么思维呀,我怎么想不到呢。
/**
*一个for循环打印九九乘法表
*/
publicvoid nineNineMultiTable()
{
for (int i = 1,j = 1; j <= 9; i++) {
System.out.print(i+"*"+j+"="+i*j+" ");
if(i==j)
{
i=0;
j++;
System.out.println();
}
}
}
6、字符串的一些方法,本人比较懒,不想学正则表达式,用到时都是去网上找。 /**
* 判断是否为整数
*
* @param str 传入的字符串
* @return 是整数返回true,否则返回false
*/
public static boolean isInteger(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
return pattern.matcher(str).matches();
} /**
* 判断是否为浮点数,包括double和float
*
* @param str 传入的字符串
* @return 是浮点数返回true,否则返回false
*/
public static boolean isDouble(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");
return pattern.matcher(str).matches();
} /**
* 判断输入的字符串是否符合Email样式.
*
* @param str 传入的字符串
* @return 是Email样式返回true,否则返回false
*/
public static boolean isEmail(String str) {
Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
return pattern.matcher(str).matches();
} /**
* 判断输入的字符串是否为纯汉字
*
* @param str 传入的字符窜
* @return 如果是纯汉字返回true,否则返回false
*/
public static boolean isChinese(String str) {
Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
return pattern.matcher(str).matches();
} /**
* 全角字符转半角字符
*
* @param QJStr
* @return String
*/
public static final String QJToBJChange(String QJStr)
{
char[] chr = QJStr.toCharArray();
String str = "";
for (int i = 0; i < chr.length; i++)
{
chr[i] = (char) ((int) chr[i] - 65248);
str += chr[i];
}
return str;
}
7、怎么说呢,今天没拿U盘,以前记录的不在电脑上,呵呵,那就先写这6个吧,有时间再总结点高质量的。
自那次邂逅CSDN论坛,而来已一月有余,顶贴无数!今又值公司培训报表,无聊之至,特来发帖散分,以感谢各位奋战在编程第一线的挨踢民工们。
废话少说,下面都是我摘抄记录的,分享给新手看下,老鸟接分,不要笑话啊。1、return result.size() > 0;
这句代替
if(result.size() > 0) return true;
else return false;
总之很简洁啊。
2、用Integer.ValueOf(1)去代替new Integer(1);
API文档是这样说的:如果不需要新的 Integer 实例,则通常应优先使用该方法,而不是构造方法 Integer(int),
因为该方法有可能通过缓存经常请求的值而显著提高空间和时间性能。
源码是这样的:
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset];
}
return new Integer(i);
}
3、写SQL语句的时候加上where 1=1 ,好处是你再加条件时就可以直接用and了,而不用再判断有没有where,
举个例子吧,说的不是很明白。
StringBuffer sql = new StringBuffer();
sql.append("SELECT NAME FROM EMP ");
if(...) sql.append(" WHERE ID=1");
if(...) sql.append(" AND ID2=1");//这时候用WHERE还是AND呢?
你会发现如果一开始就用了where 1=1,是多么的方便。
4、普通B/S模式(同步) AJAX技术(异步)
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
5、这是什么思维呀,我怎么想不到呢。
/**
*一个for循环打印九九乘法表
*/
publicvoid nineNineMultiTable()
{
for (int i = 1,j = 1; j <= 9; i++) {
System.out.print(i+"*"+j+"="+i*j+" ");
if(i==j)
{
i=0;
j++;
System.out.println();
}
}
}
6、字符串的一些方法,本人比较懒,不想学正则表达式,用到时都是去网上找。 /**
* 判断是否为整数
*
* @param str 传入的字符串
* @return 是整数返回true,否则返回false
*/
public static boolean isInteger(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
return pattern.matcher(str).matches();
} /**
* 判断是否为浮点数,包括double和float
*
* @param str 传入的字符串
* @return 是浮点数返回true,否则返回false
*/
public static boolean isDouble(String str) {
Pattern pattern = Pattern.compile("^[-\\+]?[.\\d]*$");
return pattern.matcher(str).matches();
} /**
* 判断输入的字符串是否符合Email样式.
*
* @param str 传入的字符串
* @return 是Email样式返回true,否则返回false
*/
public static boolean isEmail(String str) {
Pattern pattern = Pattern.compile("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$");
return pattern.matcher(str).matches();
} /**
* 判断输入的字符串是否为纯汉字
*
* @param str 传入的字符窜
* @return 如果是纯汉字返回true,否则返回false
*/
public static boolean isChinese(String str) {
Pattern pattern = Pattern.compile("[\u0391-\uFFE5]+$");
return pattern.matcher(str).matches();
} /**
* 全角字符转半角字符
*
* @param QJStr
* @return String
*/
public static final String QJToBJChange(String QJStr)
{
char[] chr = QJStr.toCharArray();
String str = "";
for (int i = 0; i < chr.length; i++)
{
chr[i] = (char) ((int) chr[i] - 65248);
str += chr[i];
}
return str;
}
7、怎么说呢,今天没拿U盘,以前记录的不在电脑上,呵呵,那就先写这6个吧,有时间再总结点高质量的。
两个.存在的话也算作double了
[email protected] 也能匹配。。呃
那个验证浮点数的也有问题, 我试了String str = "1.1.1";也能匹配,有点。把那个.提到外面就好
能够验证是不是整数:
System.out.println("".matches("^[-\\+]?[\\d]*$"));
很明显""也被当成了整数,正确的写法应该至少包含一个数字.
System.out.println("".matches("^[-\\+]?[\\d]+$"));严重鄙视这种直接google后粘贴而不进行检查的行为
1、 其实可以不要else的
2、 jdk5.0 以上都支持自动装箱和拆箱,所以也没必要写的那么麻烦
3、 1=1 是防止SQL注入的吧,其实不要sql拼装就可以很好的防止了
5、 有点意思
6、 不做评论
以上是个人见解!~
1、能用三目的就用三目运算法,但是他给的提示太少了,所以也要看情况而定!
2、没想法。。代码的优化吧
3、做个判断就好了。。就是判断sql.toString()是否为空。。
4、这个个人喜好吧,不过大多的客户还是喜欢局部刷新
5、不错的。。
6、判断是否是float类型,也不用这么麻烦吧。。如果在java类里面,可以直接用
float f=Float.parseFloat(s);
直接写一个异常,如果不能转化就直接跳到异常里面,捕捉一下就行了
这句代替
if(result.size() > 0) return true;
else return false;
总之很简洁啊。
除了代码少一点,有什么好处???
return result.size() > 0;
}else
return false;