我想更新一个Instant对象,以便可以再次与它进行比较。
Instant mvTime = Instant.now();
// Some Code
// Some More Code
下面的代码执行了很多次:
Instant currentTime = Instant.now();
Duration timeBetween = Duration.between(mvTime, currentTime);
if (timeBetween.getSeconds() > Long.parseLong("120")) {
doSomething()
mvTime = mvTime.plusSeconds(Long.parseLong("180"));
}
问题是我要更新同一实例。我该怎么办?
答案 0 :(得分:2)
https://docs.oracle.com/javase/8/docs/api/java/time/Instant.html
此类是不可变的并且是线程安全的。
您不能更改 instance ,每个将进行实例变异的方法都将返回其自身的调整后副本。
答案 1 :(得分:0)
据我了解,您想更新SELECT
dat.Empno
FROM (
SELECT
e.Empno
,e.Salary
,e.Dept
,e.City
,COUNT(*) OVER (PARTITION BY e.Salary, e.Dept) AS CNT_salary_dept
,COUNT(*) OVER (PARTITION BY e.Salary, e.Dept, e.City) AS CNT_salary_dept_city
FROM tblEmployee e
) dat
WHERE dat.CNT_salary_dept > dat.CNT_salary_dept_city
,可以在mvTime
上使用几种方法,例如:
请注意,调用此方法将返回一个新的mvTime
对象