前言

某日,去某互联网公司面试,被问到了如下一道面试题:

题目很简单,有一队人,已知第一个人8岁,后一个人比前一个人大两岁,以此类推,问第8个人多少岁?第N个人多少岁。

我拿过笔和纸,不假思索的写下了如下答案:

阅读全文 »

前言

在项目开发交互过程中,难免会遇到一些数据校验。以校验客户端发送数据的合法性,对于一些非空校验,我们也许可以使用@NonNull,@NotNull 等注解,可是对于一些常规的,如手机号,身份证等等的校验,我们就还要判断处理每个请求的参数的合法性。

但是合法性的判断是难以避免的,我们是否可以精简工作量、提高工作效率呢。

思考

阅读全文 »

前言

今天我们来看一下JDK里一些好玩的代码。我们来分析下。

在Integer源码里,我们可以看到这样一段代码:

1
2
3
4
5
6
7
8
final static int [] sizeTable = { 9, 99, 999, 9999, 99999, 999999, 9999999,99999999, 999999999, Integer.MAX_VALUE };

// Requires positive x
static int stringSize1(int x) {
for (int i=0; ; i++)
if (x <= sizeTable[i])
return i+1;
}
阅读全文 »