gpt4 book ai didi

java - Java 返回语句中的递减(或递增)运算符

转载 作者:行者123 更新时间:2023-11-29 10:03:41 25 4
gpt4 key购买 nike

我在我的 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),但它不会减少 的值当前页面。调用后返回原始值 13。


我必须像下面这样更改方法才能按预期工作。

public static int deleteSingle(long totalRows, long pageSize, int currentPage)
{
if(totalRows==currentPage*pageSize-pageSize)
{
currentPage=currentPage-1; //<-------
return currentPage; //<-------
}
else
{
return currentPage;
}
}

那么为什么不使用减量运算符 - currentPage-- 将值减 1?为什么在这种情况下需要 - currentPage=currentPage-1;

最佳答案

在您的返回语句中,它使用 currentPage-- 导致返回后递减。您希望 --currentPage 在返回之前进行递减。就个人而言,对于这样一个复杂的语句,为了可读性,您可能无论如何都想将其分解,但这是一个偏好问题。

(从技术上讲,它在读取后递减。它是一个返回语句,当它递减时会发生变化,这没什么特别的。)

如果由我决定,我的口味是这样做:

public static int deleteSingle(long totalRows, long pageSize, int currentPage)
{
if(totalRows==currentPage*pageSize-pageSize)
{
currentPage--;
}
return currentPage;

}

关于java - Java 返回语句中的递减(或递增)运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15212591/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com