यह सरल जावा कोड long
का एक सेट करने के लिए 2
कहते हैं, और बाद में प्रिंट कि क्या 2
सेट का एक सदस्य है:लंबे समय तक हैशसेट का उपयोग कर जावा कोड काम नहीं करता है?
import java.util.*;
class A {
public static void main(String[] args) {
HashSet<Long> s = new HashSet<Long>();
long x = 2;
s.add(x);
System.out.println(s.contains(2));
}
}
यह true
प्रिंट चाहिए, क्योंकि 2
सेट में है, लेकिन इसके बजाय यह false
प्रिंट करता है। क्यूं कर?
$ javac A.java && java A
false
'लंबे' आदिम के बजाय 'लांग' ऑब्जेक्ट का उपयोग करने का प्रयास करें। –
@ लुइगी मैन्डोज़ा - ए 'लांग' आदिम ऑटोबॉक्सिंग के कारण ठीक काम करेगा। समस्या यह है कि यह एक 'int' primitive था। –
क्षमा करें, आप सही हैं। शाब्दिक 2 को 'इंटेर' के रूप में 'int'' के रूप में माना जाता था। –