Merge pull request #510 from yidasanqian/v4-dev

Fix javadoc typo
This commit is contained in:
Golden Looly 2019-08-23 18:58:59 +08:00 committed by GitHub
commit a6d8b3fd59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,135 +1,135 @@
package cn.hutool.core.util; package cn.hutool.core.util;
/** /**
* 分页工具类 * 分页工具类
* *
* @author xiaoleilu * @author xiaoleilu
* *
*/ */
public class PageUtil { public class PageUtil {
/** /**
* 将页数和每页条目数转换为开始位置<br> * 将页数和每页条目数转换为开始位置<br>
* 此方法用于不包括结束位置的分页方法<br> * 此方法用于不包括结束位置的分页方法<br>
* 例如 * 例如
* *
* <pre> * <pre>
* 页码1每页10 = 0 * 页码1每页10 = 0
* 页码2每页10 = 10 * 页码2每页10 = 10
* *
* </pre> * </pre>
* *
* @param pageNo 页码从1计数 * @param pageNo 页码从1计数
* @param pageSize 每页条目数 * @param pageSize 每页条目数
* @return 开始位置 * @return 开始位置
*/ */
public static int getStart(int pageNo, int pageSize) { public static int getStart(int pageNo, int pageSize) {
if (pageNo < 1) { if (pageNo < 1) {
pageNo = 1; pageNo = 1;
} }
if (pageSize < 1) { if (pageSize < 1) {
pageSize = 0; pageSize = 0;
} }
return (pageNo - 1) * pageSize; return (pageNo - 1) * pageSize;
} }
/** /**
* 将页数和每页条目数转换为开始位置和结束位置<br> * 将页数和每页条目数转换为开始位置和结束位置<br>
* 此方法用于包括结束位置的分页方法<br> * 此方法用于包括结束位置的分页方法<br>
* 例如 * 例如
* *
* <pre> * <pre>
* 页码1每页10 = [0, 10] * 页码1每页10 = [0, 10]
* 页码2每页10 = [10, 20] * 页码2每页10 = [10, 20]
* *
* </pre> * </pre>
* *
* @param pageNo 页码从1计数 * @param pageNo 页码从1计数
* @param pageSize 每页条目数 * @param pageSize 每页条目数
* @return 第一个数为开始位置第二个数为结束位置 * @return 第一个数为开始位置第二个数为结束位置
*/ */
public static int[] transToStartEnd(int pageNo, int pageSize) { public static int[] transToStartEnd(int pageNo, int pageSize) {
final int start = getStart(pageNo, pageSize); final int start = getStart(pageNo, pageSize);
if (pageSize < 1) { if (pageSize < 1) {
pageSize = 0; pageSize = 0;
} }
final int end = start + pageSize; final int end = start + pageSize;
return new int[] { start, end }; return new int[] { start, end };
} }
/** /**
* 根据总数计算总页数 * 根据总数计算总页数
* *
* @param totalCount 总数 * @param totalCount 总数
* @param pageSize 每页数 * @param pageSize 每页数
* @return 总页数 * @return 总页数
*/ */
public static int totalPage(int totalCount, int pageSize) { public static int totalPage(int totalCount, int pageSize) {
if (pageSize == 0) { if (pageSize == 0) {
return 0; return 0;
} }
return totalCount % pageSize == 0 ? (totalCount / pageSize) : (totalCount / pageSize + 1); return totalCount % pageSize == 0 ? (totalCount / pageSize) : (totalCount / pageSize + 1);
} }
/** /**
* 分页彩虹算法<br> * 分页彩虹算法<br>
* 来自https://github.com/iceroot/iceroot/blob/master/src/main/java/com/icexxx/util/IceUtil.java<br> * 来自https://github.com/iceroot/iceroot/blob/master/src/main/java/com/icexxx/util/IceUtil.java<br>
* 通过传入的信息生成一个分页列表显示 * 通过传入的信息生成一个分页列表显示
* *
* @param currentPage 当前页 * @param currentPage 当前页
* @param pageCount 总页数 * @param pageCount 总页数
* @param displayCount 每屏展示的页数 * @param displayCount 每屏展示的页数
* @return 分页条 * @return 分页条
*/ */
public static int[] rainbow(int currentPage, int pageCount, int displayCount) { public static int[] rainbow(int currentPage, int pageCount, int displayCount) {
boolean isEven = true; boolean isEven = true;
isEven = displayCount % 2 == 0; isEven = displayCount % 2 == 0;
int left = displayCount / 2; int left = displayCount / 2;
int right = displayCount / 2; int right = displayCount / 2;
int length = displayCount; int length = displayCount;
if (isEven) { if (isEven) {
right++; right++;
} }
if (pageCount < displayCount) { if (pageCount < displayCount) {
length = pageCount; length = pageCount;
} }
int[] result = new int[length]; int[] result = new int[length];
if (pageCount >= displayCount) { if (pageCount >= displayCount) {
if (currentPage <= left) { if (currentPage <= left) {
for (int i = 0; i < result.length; i++) { for (int i = 0; i < result.length; i++) {
result[i] = i + 1; result[i] = i + 1;
} }
} else if (currentPage > pageCount - right) { } else if (currentPage > pageCount - right) {
for (int i = 0; i < result.length; i++) { for (int i = 0; i < result.length; i++) {
result[i] = i + pageCount - displayCount + 1; result[i] = i + pageCount - displayCount + 1;
} }
} else { } else {
for (int i = 0; i < result.length; i++) { for (int i = 0; i < result.length; i++) {
result[i] = i + currentPage - left + (isEven ? 1 : 0); result[i] = i + currentPage - left + (isEven ? 1 : 0);
} }
} }
} else { } else {
for (int i = 0; i < result.length; i++) { for (int i = 0; i < result.length; i++) {
result[i] = i + 1; result[i] = i + 1;
} }
} }
return result; return result;
} }
/** /**
* 分页彩虹算法(默认展示10页)<br> * 分页彩虹算法(默认展示10页)<br>
* 来自https://github.com/iceroot/iceroot/blob/master/src/main/java/com/icexxx/util/IceUtil.java * 来自https://github.com/iceroot/iceroot/blob/master/src/main/java/com/icexxx/util/IceUtil.java
* *
* @param currentPage 当前页 * @param currentPage 当前页
* @param pageCount 总页数 * @param pageCount 总页数
* @return 分页条 * @return 分页条
*/ */
public static int[] rainbow(int currentPage, int pageCount) { public static int[] rainbow(int currentPage, int pageCount) {
return rainbow(currentPage, pageCount, 10); return rainbow(currentPage, pageCount, 10);
} }
} }