scala> 12312 match {
| case _: AnyVal => true
| case _ => false
| }
<console>:9: error: type AnyVal cannot be used in a type pattern or isInstanceOf test
case _: AnyVal => true
^
संदेश बहुत जानकारीपूर्ण है। मुझे लगता है कि मैं इसका उपयोग नहीं कर सकता, लेकिन मुझे क्या करना चाहिए?
def testAnyVal[T](x: T)(implicit evidence: T <:< AnyVal = null) = evidence != null
println(testAnyVal(1)) // true
println(testAnyVal("Hallo")) // false
println(testAnyVal(true)) // true
println(testAnyVal(Boolean.box(true))) // false
या यदि आप 'शून्य' चाल का उपयोग नहीं करना चाहते हैं: 'def testAnyVal [T] (x: T) (अंतर्निहित एम: मैनिफेस्ट [टी]) = एम <:
@TravisBrown - या यदि आप एक स्पष्ट मैनिफेस्ट पैरामीटर नहीं लिखना चाहते हैं, 'def testAnyVal [टी: मैनिफेस्ट] (टी: टी) = मैनिफेस्ट [टी] <:
@Rex: दाएं, यह अच्छा है- मैं बस थिपोर के फॉर्मूलेशन के लिए अधिक बारीकी से चिपक रहा था। –