机缘
- 实战项目中的经验分享
- 日常学习过程中的记录
- 通过文章进行技术交流
- 工作中总结了一些心得体会
收获
- 获得了13个粉丝的关注
- 获得了11W的阅读量,57次点赞,196次收藏
- 提高了语言表达能力,学到了很多有用的知识
日常
- 有限的精力下,坚持每月创作数篇博文
- 分享自己的工作心得和技术点总结
成就
工作中遇到很多问题,也做了很多次总结,有些来不及写到博客里,有些记录了下来。
分享一段后台分页的代码:
import com.google.common.collect.Lists;
import java.util.List;
public class PageUtil {
/**
* 按照传入的参数,进行分页
* @param pageNum 页数
* @param pageSize 每页条数
* @param sourceList 源列表
* @param isPage 是否分页
* @param <T> 泛型对象
* @return 返回结果集
*/
public static <T> List<T> page(Integer pageNum, Integer pageSize, List<T> sourceList, Boolean isPage){
List<T> pageList = sourceList;
// 当列表不为空的时候,才进行数据逻辑处理
if (sourceList != null && !sourceList.isEmpty()) {
int sourceSize = sourceList.size();
if (isPage) {
pageNum = (pageNum == null || pageNum <= 0) ? 1 : pageNum;
pageSize = (pageSize == null || pageSize <= 0) ? 10 : pageSize;
// 步骤分解,便于理解
// int startPosition = Math.min((pageNum - 1) * pageSize, sourceSize);
// int endPosition = Math.min(pageNum * pageSize, sourceSize);
// pageList = sourceList.subList(startPosition, endPosition);
// 分页的起始和截止位置,和源列表的size大小进行对比,分别取最小值
pageList = sourceList.subList(Math.min((pageNum - 1) * pageSize, sourceSize), Math.min(pageNum * pageSize, sourceSize));
}
}
return pageList;
}
public static void main(String[] args) {
List<Integer> intList = Lists.newArrayList(1, 2, 3, 4, 5, 6, 7);
// List<Integer> intList = Lists.newArrayList();
// ResultList<Integer> resultList = page(1, 3, intList, false);
// ResultList<Integer> resultList = page(2, 3, intList, true);
// ResultList<Integer> resultList = page(3, 3, intList, true);
// ResultList<Integer> resultList = page(null, null, intList, true);
// ResultList<Integer> resultList = page(2, 10, intList, true);
// ResultList<Integer> resultList = page(2, 15, intList, true);
// ResultList<Integer> resultList = page(1, 15, intList, true);
List<Integer> resultList = page(1, 10, intList, true);
System.out.println("resultList: " + resultList);
}
}
憧憬
计划后期往系统架构师方向奋斗,多夯实基础,学习前沿技术,多动手实践,尽量做到知行合一!
也会持续分享自己学习和工作中遇到的问题和经验总结,希望能和CSDN的小伙伴们一起成长!
Tips