গ্রোভি / গ্রিল কিভাবে একটি ডেটা টাইপ নির্ধারণ করবেন?


176

গ্রোভিতে ডাটা টাইপ নির্ধারণের সেরা উপায় কী?

আমি যদি তারিখ ইত্যাদি হয় তবে আউটপুটটিকে আলাদাভাবে ফর্ম্যাট করতে চাই

উত্তর:


244

কোনও বস্তুর শ্রেণি নির্ধারণ করতে কেবল কল করুন:

someObject.getClass()

আপনি someObject.classএটি বেশিরভাগ ক্ষেত্রে সংক্ষেপে বলতে পারেন । তবে আপনি যদি Mapএটিতে ব্যবহার করেন এটি কী 'শ্রেণি' দিয়ে মানটি পুনরুদ্ধার করার চেষ্টা করবে। এই কারণে, আমি সবসময় ব্যবহার করিgetClass() এটি আরও বেশি দীর্ঘ হলেও ।

আপনি যদি পরীক্ষা করতে চান যে কোনও উপাদান কোনও নির্দিষ্ট ইন্টারফেস প্রয়োগ করে বা নির্দিষ্ট শ্রেণীর (যেমন তারিখ) ব্যবহার প্রসারিত করে:

(somObject instanceof Date)

বা কোনও বস্তুর শ্রেণি হুবহু একটি নির্দিষ্ট বর্গ (এটির একটি সাবক্লাস নয়) তা পরীক্ষা করতে, ব্যবহার করুন:

(somObject.getClass() == Date)

2
instanceofইন্টারফেসের উপর ভিত্তি করে ফিল্টারিংয়ের জন্য দুর্দান্ত।
সিডেসাক

কমপক্ষে সর্বশেষতম গ্রোভিতে
২.৩..7

5
@ লরেন্টবার্বনেব যা বেশিরভাগ ক্ষেত্রে কাজ করে তবে সমস্ত Mapক্ষেত্রেই উদাহরণস্বরূপ
ডানাল

আপনি ঠিক বলেছেন: আমরা এই ক্ষেত্রে শূন্য হয়ে পড়েছি। ভুলের জন্য ক্ষমা চাইছি।
loloof64

তাহলে এ কী? def test = {} println test.getClass() ক্লাস স্ক্রিপ্ট 1 r _ রুন_ক্লোজার 1 ??
পেটরুনভ 24'17

33

অবজেক্টের ধরণের চেক করার সহজ গ্রোভি উপায়:

somObject in Date

ইন্টারফেসেও প্রয়োগ করা যেতে পারে।


3

ডোনালের উত্তরে কেবল অন্য বিকল্প যুক্ত করতে আপনি এখনও ভাল পুরানো java.lang.Object.getClass()পদ্ধতিটি ব্যবহার করতে পারেন ।


0

আপনি মেম্বারশিপ অপারেটর isCase () ব্যবহার করতে পারেন যা অন্য একটি গ্রোভি উপায়:

assert Date.isCase(new Date())

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.