回答
運營商沒有-> <-
。第一個->
只是lambda語法,如Java 8中引入的那樣,而第二個<-
是'小於'<
和'一元減號'-
的誤導串聯。
可以讀取它作爲IntPredicate neg = (x) -> (x < (-x));
,即它測試x
是否大於-x
更小,這是對於所有(當然,most)負數的情況下,因此得名neg
。
IntPredicate neg = x -> x <- x;
System.out.println(neg.test(4)); // false
System.out.println(neg.test(0)); // false
System.out.println(neg.test(-4)); // true
只是爲了完整性:這個測試不僅是(故意?)很難理解,但是 - 在評論中指出 - 它也失敗了Integer.MIN_VALUE
(這是==-Integer.MIN_VALUE
)。相反,你應該使用更簡單的IntPredicate neg = x -> (x < 0);
。
「這是所有負數的情況下」...除了'Integer.MIN_VALUE';) – fredoverflow
真的,你不知道什麼是錯誤的簡單的'x <0' –
@MarkRotteveel你的版本看起來不像ASCII藝術,它只是可讀的。 – Gimby
- 1. tsql!>操作符有什麼作用?
- 2. <<操作符對Ruby方法有什麼作用?
- 3. >>操作符/操作數/修飾符是做什麼的?
- 4. C#=>操作符有什麼作用? (BESIDES是一個lambda操作符)
- 5. 這些操作符在D 2.0中做了什麼:<> =!<> =! <= !> =
- 6. $操作符有什麼作用?
- 7. * =操作符有什麼作用?
- 8. Kotlin中的箭頭(「 - >」)操作符有什麼作用?
- 9. 什麼是haskell中的<$>和<*>操作數
- 10. 沒有操作符<<與這些操作數匹配WITH #include <string>
- 11. 錯誤:操作符<<在操作符<<((const Args *)a) - > Args :: getArgL()
- 12. 布爾操作符<, >,<=等
- 13. <>操作符的名稱是什麼?
- 14. 爲什麼要在C++中避免輸入操作符(操作符>>)?
- 15. 什麼是JavaScript >>>操作符用於?
- 16. 什麼是C#中的「| =」運算符? |在C#「=」操作</p> <pre><code>Status |= (int)states.Reading; </code></pre> <p>什麼是:
- 17. 什麼是C++ >>>操作
- 18. 任何建議爲什麼>操作符不起作用?
- 19. 什麼是「<<」操作符的使用紅寶石
- 20. 結構引用操作(操作符 - >)
- 21. %=操作符的作用是什麼?
- 22. Java操作符>>和>>>之間有什麼區別?
- 23. 爲什麼在操作符<exists時定義lt lt?
- 24. 爲什麼我不能動作<Int32>動作<Object>?
- 25. 什麼是「動作<IEnumerable <TwitterStatus>,TwitterResponse>動作」?
- 26. 錯誤操作符<<重載 - 沒有操作員發現
- 27. 爲什麼<f:validateBean />不起作用?
- 28. 添加'='對Python中的位操作符有什麼作用? (即'<< ='而不是'<<')
- 29. = =操作符爲什麼只有時有副作用?
- 30. 沒有操作符「>>」與這些操作數匹配
我的猜測:Lambda'(x) - >(x <-x)' –
我很想投票結束「簡單的印刷錯誤」。 ;) –
這就是括號有時候有用的一個例子。 – MicSim