Java-Code
获取类名
1 | // 外部普通类 |
输出
1 | 方法名 类名 |
获取项目绝对路径
1 | System.getProperty("user.dir") |
遍历树形结构
https://mp.weixin.qq.com/s/xhrcvRRBEWEBMZ86-YsZag
- 实体类:Menu.java
1 | public class Menu { |
- 遍历数据
1 |
|
遍历文件夹
1 | public static void main(String[] args) { |
判断网络资源是否存在
1 | private static boolean bResourceExist(String urlname) { |
BigDecimal 与 double 互转
1 | //double 转 BigDecimal |
反射
https://zhuanlan.zhihu.com/p/73710795
从对象获取字段值
获取 Class
Class stuClass = Student.class;
1
2
3
4
* ```java
Student stu = new Student();
Class stuClass = stu.getClass();Class stuClass = Class.forName(”fanshe.Student”);
1
2
3
4
5
2. 获取字段 Field
```java
Field nameField = stuClass.getDeclaredField("name");
获取字段值
1
2nameField.setAccessible(true);
String name = (String) nameField.get(stu);
批量操作「分页」
1 | //批量值:单次操作数量 |
字符串操作
去掉字符串开头的所有空格
1 | import org.springframework.util.StringUtils; |
字符串截取 substring
1 | String point = "34.90364646664826,108.94620186992519;34.88785743713379,108.93914222717285"; |
分隔字符串 split
1 | String s = "楼栋1, 楼栋2,楼栋3,楼栋4 ,楼栋5 "; |
字符串编码转换
1 | public class Test { |
字符串中的连续空格替换为单个空格
1 | String str = " abc dd ccc "; |
小数转百分比
1 | NumberFormat nt = NumberFormat.getPercentInstance();//获取格式化对象 |
数字转字符串,位数不够补零
1 | /** |
数值运算
小数取整
1 | //去掉小数保留整数 |
随机值
批量生成随机值
1 | IntStream.range(0, 10).forEach(i-> System.out.println("i = " + i)); |
整数值
1 | // 0-20 随机整数 |
浮点数
1 | //一、取 start - end 之间的小数,小数点后保留 1 位小数 |
时间
超时时间点
1 | // 30 分钟后的时间 |
获取一天的开始和结束时间
1 | Calendar calendar = new GregorianCalendar(); |
判断是否在指定时间段
1 | /** |
集合随机排序
1 | // 随机排序 |
数组
1 | String[] arr = new String[] { token, timestamp, nonce }; |
拼接字符串
String.join
语法
1 | String.join(CharSequence delimiter, CharSequence... elements) |
示例
1 | String joined = String.join("/", "2014", "10", "28"); // "2014/10/28" |
StringJoiner
1 | //字符串用 ,分割 |
Collectors.joining
1 | String joinedFirstNames = list.stream() |
String、Array、List 互转
Arrays.asList
1 | List<Person> list = Arrays.asList( |
string.split
split () 方法根据匹配给定的正则表达式来拆分字符串
注意: .
$
|
和 *
等转义字符,必须得加\\
注意:多个分隔符,可以用 | 作为连字符
语法
1 | public String[] split(String regex, int limit) |
参数
- regex – 正则表达式分隔符。
- limit – 分割的份数。
返回值
字符串数组
示例
1 | String[] names = "张三|李四|王五|zhaoliu".split("\\|"); |
list.toArray()
1 | String[] strArr = list.toArray(new String[list.size()]); |
Double 类型转为 Integer
1 | Double d = 13.5578; |
过滤特殊字符
1 | /** |
获取当前时间到第二天凌晨的毫秒数
1 | /** |
页面中下载图片
html
1 | <a href="url">下载图片</a> |
Java
1 | //http://localhost:8000/scm/event/20191114/471e2369a1794dec8c6cfa397934223e.jpg |
抓取在线网页内容并解析-jsoup
参考
https://jsoup.org/download
Maven
1 | <dependency> |
使用
1 | try { |
检查资源是否存在
1 | // 判断资源是否存在 |
文件下载
1 | public void downloadNet(String url, String filePath) { |
字符集过滤器
web.xml 配置
注意:过滤器配置为第一个
1 | <!-- 配置字符集过滤器 --> |
@PostConstruct
https://www.jianshu.com/p/98cf7d8b9ec3
从 Java EE5 规范开始,Servlet 中增加了两个影响 Servlet 生命周期的注解,@PostConstruct 和 @PreDestroy,这两个注解被用来修饰一个非静态的 void()方法
先 Constructor 再 @Autowired 后 @PostConstruct
1
2
3
4
5
6
7
8
9
10
11
12
13public Class Tools {
private BusMapper busMapper;
public Tools() {
System.out.println ("此时 busMapper 方法未被注入: busMapper =" + busMapper);
}
private void init() {
System.out.println ("busMapper 方法已注入:" + busMapper);
}
}
UUID
UUID是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。通常平台会提供生成的API。按照开放软件基金会(OSF)制定的标准计算,用到了
以太网卡地址
、纳秒级时间
、芯片ID码
和随机数
。java 生成 uuid
1
2
3
4
5
6UUID uuid = UUID.randomUUID();
//ac90a107-e490-44e7-980d-22740e6daa99
String uuidStr = uuid.toString().replace("-", "");
//ac90a107e49044e7980d22740e6daa99
遍历 Map
遍历 key 和 value
Entryset
1
2
3for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}Iterator
1
2
3
4
5
6
7
8String key;
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
key = iterator.next();
String value = (String) map.get(key);
System.out.println(key+":"+value);
}
只需要 map 中的键或者值,可以通过 keySet 或 values 来实现遍历,而不是用 entrySet
1
2
3for (Integer key : map.keySet()) {}
for (Integer value : map.values()) {}
Map<Object, Object> 转 Map<String, String>
1 | map.entrySet().stream().collect(Collectors.toMap(e -> (String)e.getKey(), e -> (String)e.getValue())); |
Iterable 转 List或Set
1 | Iterable<Law> iterable = lawService.getAll(); |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 王文哲的博客!