[問題] Integer 如何pass-by-ref
各位版上朋友好
小弟使用Java不久 最近被問到一個神奇的題目
void bar(Integer a, Integer b) {
if(a != b) return;
if(a > 200) return;
a++;
b++;
b++;
assert a < b;
}
目的是要觸發assertion error
如果用c++可以讓兩個input指向同一個memory address來觸發
但java都是pass by value 不管怎樣a, b都會被當成不同的物件來處理
而因為第二個if的關係 不能傳入a=b=INT_MAX-1 來導致overflow
不知道有什麼解法呢?
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 107.0.114.25
※ 文章網址: https://www.ptt.cc/bbs/java/M.1543303571.A.F20.html
→
11/27 16:35,
6年前
, 1F
11/27 16:35, 1F
→
11/27 16:46,
6年前
, 2F
11/27 16:46, 2F
→
11/27 16:47,
6年前
, 3F
11/27 16:47, 3F
→
11/27 16:50,
6年前
, 4F
11/27 16:50, 4F
→
11/27 16:59,
6年前
, 5F
11/27 16:59, 5F
→
11/27 17:04,
6年前
, 6F
11/27 17:04, 6F
java 近期熱門文章
PTT數位生活區 即時熱門文章