में कोई ऑब्जेक्ट जावा प्राइमेटिव सरणी है या नहीं, यह पता लगाने का सबसे अच्छा तरीका क्या है कि ऑब्जेक्ट क्लोजर में जावा आदिम सरणी है या नहीं?क्लोजर
कारण मैं की जरूरत है इस आदिम सरणियों के लिए कुछ विशेष हैंडलिंग करना है, जो की तरह कुछ दिख सकता है:
(if (byte-array? object)
(handle-byte-array object))
यह कोड का एक काफी प्रदर्शन के प्रति संवेदनशील टुकड़ा में है, इसलिए मैं नहीं बल्कि प्रतिबिंब से बचने के हैं तो बिल्कुल भी संभव है।
सुनिश्चित नहीं है कि क्लोजर कोड क्या होगा, लेकिन आप प्रत्येक आदिम प्रकार के लिए खाली सरणी बना सकते हैं, उन पर getClass() को कॉल कर सकते हैं, और परिणामों को कैश कर सकते हैं। क्लास ऑब्जेक्ट उस आदिम प्रकार की प्रत्येक सरणी के लिए समान होना चाहिए - आप कैश किए गए लोगों की तुलना 'object.getClass() 'से करेंगे।(getClass() वास्तव में धीमी कॉल नहीं होना चाहिए) – millimoose