Class.getName () ক্লাসের কেবল নাম পাচ্ছেন


88

আমি কীভাবে ক্লাসের নাম পেতে পারি?

String.class.getName()  returns java.lang.String


আমি কেবলমাত্র শেষ অংশটি পেতে আগ্রহী অর্থাৎ কেবল স্ট্রিং
এনি এপিই কি তা করতে পারে?


4
জাভাতে দুর্দান্ত অনলাইন ডকুমেন্টেশন রয়েছে। নীচে লিঙ্কযুক্ত andyb পৃষ্ঠাটি একটি উদাহরণ। ক্লাস বা প্যাকেজ থেকে উপলব্ধ কার্যকারিতা সম্পর্কে আপনার কাছে যে কোনও সময় প্রশ্ন রয়েছে, জাভাদোকগুলি গুগলিং "জাভা 6 <প্যাকেজ বা প্রশ্নে শ্রেণি>" হিসাবে খুঁজে পাওয়া সহজ।
জেএম

উত্তর:


185

9
String.class.getSimpleName () -> স্ট্রিং, যেখানে String.class.getName () -> java.lang.String
পিটার

আপনাকে ধন্যবাদ, @ getSimpleName()এবং অ্যান্ডব প্যাকেজের নাম বর্গের নাম বিয়োগ করা সহজ access সিনট্যাক্স: object.getClass().getSimpleName() নমুনা কোড
অভিজিৎ

স্ট্যাটিক স্ট্রিং ভেরিয়েবলের জন্য এটি কীভাবে বরাদ্দ করা যায়। এটি অ্যান্ড্রয়েড স্টুডিওতে ত্রুটি দেখাচ্ছে।
মোহনরাজ এস

অভ্যন্তরীণ ক্লাসগুলির জন্য কাজ করে না: এটি কেবল প্যাকেজ নয়, এনকোলেসিং ক্লাসের নামটি ছড়িয়ে দেবে।
টুলফোজার

9

নীচে উভয় উপায় সূক্ষ্ম কাজ করে।

System.out.println("The Class Name is: " + this.getClass().getName());
System.out.println("The simple Class Name is: " + this.getClass().getSimpleName());

নীচে হিসাবে আউটপুট:

শ্রেণীর নাম: প্যাকেজ.স্টুডেন্ট

সাধারণ শ্রেণীর নাম: শিক্ষার্থী


7

বা প্রোগ্রামমেটিক্যালি

String s = String.class.getName();
s = s.substring(s.lastIndexOf('.') + 1);

4
এটি আমার কাঠামো থেকে getSimpleName () ব্যবহার করতে না পারায় আমাকে সাহায্য করেছে ... Tq
ইমপস্টার

4
এছাড়াও, প্রোগ্রাম্যাটিক পদ্ধতির বেনাম ক্লাসগুলির বুদ্ধিমান ফলাফল দেয়।
হলিস ওয়েট

@ ইম্পোস্টার আপনি জাভা 1.5 এর আগে কিছু ব্যবহার করছেন?
স্টিলথ রাব্বি

আপনার কেসটি পরিচালনা করতে হবে যেখানে কোনও .সন্ধান পাওয়া যায় না।

@ যদি বিন্দুটি পাওয়া যায় না, তবে ফলাফলগুলি -1 হবে, 1 যোগ করা আপনাকে সূচক 0 থেকে শুরু করে একটি স্ট্রিং দেবে - এক্ষেত্রে আপনার ঠিক কী প্রয়োজন। (আমি কেবল এটি দিয়ে পরীক্ষা করেছি int[], "[I"
ফলাফলটিই

4

শ্রেণীর নাম সহ প্রিন্ট লগের জন্য আপনি নিম্নলিখিত সহজ কৌশলটি ব্যবহার করতে পারেন।

private String TAG = MainActivity.class.getSimpleName();

ধরুন পদ্ধতিতে আমাদের আসন্ন পরিবর্তনশীল মানটি পরীক্ষা করতে হবে তবে আমরা বেলোর মতো লগ ব্যবহার করতে পারি:

private void printVariable(){
Log.e(TAG, "printVariable: ");
}

এই লাইনের গুরুত্ব হ'ল আমরা শ্রেণীর নামের সাথে পদ্ধতির নামও পরীক্ষা করতে পারি। এই ধরণের লগ লিখতে।

লিখুন: - লজ এবং এন্টার।

কনসোলে মুদ্রণ করবে

E/MainActivity: printVariable:

2

Social.class.getSimpleName ()

getSimpleName (): উত্স কোড অনুসারে অন্তর্নিহিত শ্রেণীর সাধারণ নামটি দেয়। অন্তর্নিহিত শ্রেণি বেনামে থাকলে একটি খালি স্ট্রিং ফেরত দেয়। অ্যারের সাধারণ নাম হ'ল "[]" সংযুক্ত যুক্ত উপাদানগুলির সহজ নাম। বিশেষত একটি অ্যারের সরল নাম যার উপাদান টাইপ বেনামে হয় "[]"।


1

এখানে অবজেক্টের বৈশিষ্ট্য অ্যাক্সেসের গ্রোভি উপায়:

this.class.simpleName    # returns the simple name of the current class

-2

পথের পরিবর্তে সাধারণ নাম পান।

String onlyClassName =  this.getLocalClassName(); 

অনক্রিটে উপরের পদ্ধতিতে কল করুন


অসম্পূর্ণ সমাধান।
পিএলজি

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