/images/avatar.jpg

雨临Lewis的博客

Java - 一道关于Arrays.asList的题目

题目

有这样一道有趣的题目:

1
2
3
4
5
6
7
8
final int[] test = new int[]{1,2,3,4};
final Integer[] test2 = new Integer[]{1,2,3,4};
final List list1 = Arrays.asList(test);
final List list2 = Arrays.asList(test2);
final List list3 = Arrays.asList(1,2,3,4);
System.out.println(list1.size());
System.out.println(list2.size());
System.out.println(list3.size());

StringUtils.split()和string.split()的区别

场景

出于业务考虑,将多个字符串拼接起来时,使用的分隔符是;,;。如果要将这样一个拼接来的字符串分割成原本的多个字符串时,就需要使用到jdk自带的split()方法。不过因为公司的编程规范,改为使用了Apache工具类的StringUtils.split()。

之后就发现,当被拼接的字符串里含有;,时,就会出现分割不正确的问题。

数据库的标识符可以有多长

前言

今天在查看项目代码时发现有这样一个逻辑:在查询数据库时通过代码去拼接一个SQL,这个SQL的某个字段的别名是由多个变量名拼接而成的,于是在拼接该别名时特地限制了其长度为30,如果超过30就只截取前30个字符来作为列别名。

一时间很好奇为什么要限制列别名的长度,查阅过资料才明白,原来数据库的名字、表名、表别名、列名、列别名和函数名等,这些都属于标识符,不同数据库对于标识符会限定各种的长度最大值。

PostgreSQL - 模糊查询

前言

like、not like在SQL中用于模糊查询,%表示任意个字符,_表示单个任意字符,如果需要在模糊查询中查询这两个通配符,需要用ESCAPE进行转义,如下:

1
select * from table where name like '张/_小%' escape '/';

Windows下完全卸载node.js并安装node.js的多版本管理工具nvm-windows

前言

由于高版本的node.js导致gulp执行build命令失败,我需要在Windows下卸载掉已有的node.js并安装一个多版本管理工具nvm-windows,方便切换不同版本的node.js。

nvm是Linux下常用的一个node.js多版本管理工具,但是nvm不能在Windows下使用,在GitHub上有个项目叫nvm-windows,可以让我们在Windows下对node.js进行多版本管理。

执行gulp build报错

问题与分析

在执行gulp build报错如下:

1
2
3
4
5
6
D:\coding\Resume\Resumes>gulp build
gulp build[5628]: src\node_contextify.cc:628: Assertion `args[1]->IsString()' failed.

D:\coding\Resume\Resumes>gulp -v
[22:00:13] CLI version 2.0.1
[22:00:13] Local version 3.9.1

Eclipse问题汇总

常用的快捷键

ctrl + shift + r 查找工作空间内的文件,不包括Jar包内的文件

ctrl + shift + t 查找工作空间内的文件,包括Jar包内的文件

ctrl + o 查看当前类的所有方法

ctrl + e 快速切换编辑器,在打开了非常多的文件时会很便利

ctrl + / 单行注释或多行注释或取消注释