我在我的 Web 应用程序(使用 Spring 和 Hibernate)中实现分页,我需要类似下面的东西。
public static int deleteSingle(long totalRows, long pageSize, int currentPage)
{
return totalRows==currentPage*pageSize-pageSize ? currentPage-- : currentPage;
}
假设,我从某处调用此方法,如下所示。
deleteSingle(24, 2, 13);
使用这些参数,满足条件并且应该返回变量currentPage
(即 13)减去 1(即 12)的值,但它不会减少 的值currentPage
。它在此调用后返回原始值 13。
我必须更改如下方法才能使其按预期工作。
public static int deleteSingle(long totalRows, long pageSize, int currentPage)
{
if(totalRows==currentPage*pageSize-pageSize)
{
currentPage=currentPage-1; //<-------
return currentPage; //<-------
}
else
{
return currentPage;
}
}
那么为什么不使用递减运算符 - 将值递减 1currentPage--
呢?为什么需要 -currentPage=currentPage-1;
在这种情况下?