क्या एक्लिप्स में स्वचालित रूप से गेटर्स और सेटर्स उत्पन्न करने का एक तरीका है?


256

मैं एक नई Androidपरियोजना पर काम कर रहा हूं ( Java), और बड़ी संख्या में चर के साथ एक ऑब्जेक्ट बनाया। चूंकि मैं उन सभी के लिए गेटर्स और सेटर जोड़ने की योजना बना रहा हूं, इसलिए मैं सोच रहा था: क्या Eclipseकिसी दिए गए वर्ग में स्वचालित रूप से गेटर्स और बसने के लिए शॉर्टकट है ?


1
मेरे लिए एक शिकारी की तरह लगता है ... मैं सिर्फ एक आईडीई के बिना सभी जावा प्रोग्रामिंग करता था, इसलिए ग्रहण का उपयोग करना मेरे लिए अभी भी अपेक्षाकृत नया है।
फिल

3
@krio - जावा देव के लिए पूरी दुनिया ग्रहण का उपयोग नहीं करती है। मैंने अपना ज्यादातर काम इंटेलीज में किया, और मैंने खुद को ग्रहण में काम करना शुरू करते हुए इस तरह के कई सवाल पूछे।
vcsjones

1
@Phil, vcsjones - बहुत सही मेरी माफ़ी लेकिन यह जाँच करें, - google.com.au/… - मुझे लगता है कि
स्टैकओवरफ़्लो

2
यह सबसे तेज़ तरीका है: ctrl + 3 ggas
dellasavia

1
@ कॉन्स्टेंटिन जो सिर्फ एक ही कक्षा में उनका उपयोग करने से बचने के लिए कहते हैं, इसलिए कॉल न करें this.getCount(), जब आप केवल संदर्भ दे सकते हैं this.mCount। यद्यपि यह अधिक महंगा ऑपरेशन हो सकता है, यह गेटर्स और सेटर के माध्यम से अन्य वस्तुओं के चर तक पहुंच प्रदान करने के लिए एक क्लीनर दृष्टिकोण है।
फिल

जवाबों:


357

वांछित वर्ग के स्रोत कोड विंडो में संदर्भ मेनू (यानी राइट क्लिक) लाओ। फिर Sourceसबमेनू का चयन करें ; उस मेनू के चयन Generate Getters and Setters...से विज़ार्ड विंडो दिखाई देगी।

Source -> Generate Getters and Setters...

उन चरों का चयन करें जिनके लिए आप गेटर्स और सेटर बनाना चाहते हैं और क्लिक करें OK


केवल 'जेनरेट एलिमेंट कमेंट' है, कोई गेटर्स एंड सेटर्स नहीं। मैं ग्रहण का उपयोग कर रहा हूँ 4.4.0, पीडीटी प्लगइन स्थापित। इस बीच इसका उपयोग किया जा सकता है - mikeangstadt.name/projects/getter-setter-gen
Xdg

ग्रहण मंगल पर महान कार्य करता है ।2 रिलीज (4.5.2)। धन्यवाद।
.323272243

मुझे एक लाख साल के टेडियम को बचाने के लिए धन्यवाद!
जे एडवर्ड्स

11
आप कीबोर्ड शॉर्टकट के साथ इस सबमेनू उपयोग कर सकते हैं SHIFT+ ALT+ S, और फिर खोलने का उपयोग करके उत्पन्न getters और setters विकल्प R
रोजा

मजेदार यह है कि यहां मेरा जवाब इतना लोकप्रिय कैसे हुआ, लेकिन इन दिनों मैं केवल लोम्बोक का उपयोग करूंगा , जैसा कि नीचे अन्य लोगों द्वारा दिया गया है।
हागई सिबुल्स्की

70

ग्रहण जूनो में, डिफ़ॉल्ट रूप से, ALT + SHIFT + S, R गेट्टर / सेटर डायलॉग बॉक्स खोलता है। ध्यान दें आपको सभी 4 कुंजी को दबाना है।


5
आप SHIFT भाग को छोड़ सकते हैं और बस ALT + S, R भी कर सकते हैं।
जेसन व्हीलर

2
आप SHIFTग्रहण केपलर में नहीं छोड़ सकते
येलवॉन

आप SHIFTग्रहण ऑक्सीजन में छोड़ सकते हैं ।
जेक रीस

आप SHIFTग्रहण 2018-12 में नहीं छोड़ सकते।
नेफ

69

Right click -> Source -> Generate setters and getters

लेकिन यह भी अधिक सुविधाजनक बनाने के लिए मैं हमेशा इस के लिए नक्शे ALT + SHIFT+ GसेWindows -> Preferences -> General -> Keys


2
वास्तव में उपयोगी! मैं उसी कुंजी मैपिंग का उपयोग करता हूं।
22ngel कार्लोस डेल पोज़ो Muela

41

अन्य सभी उत्तर सिर्फ आईडीई स्तर पर केंद्रित हैं, ये गेटर्स और सेटर जनरेट करने का सबसे प्रभावी और सुरुचिपूर्ण तरीका नहीं है। यदि आपके पास दसियों गुण हैं, तो संबंधित गेटर्स और सेटर्स विधियां आपके वर्ग कोड को बहुत ही क्रियात्मक बना देंगी।

सबसे अच्छा तरीका है कि मैंने कभी गेटर्स उत्पन्न करने के लिए उपयोग किया है और स्वचालित रूप से आपके जावा प्रोजेक्ट में प्रोजेक्ट लोमबॉक एनोटेशन का उपयोग कर रहा हूं, जब आप जावा कोड संकलित करते हैं, तो lombok.jar गेटर और सेटर विधि उत्पन्न करेगा।

आप केवल वर्ग विशेषताओं / चर नामकरण और परिभाषा पर ध्यान केंद्रित करते हैं, लम्बोक बाकी काम करेगा। यह आपके कोड को बनाए रखना आसान है।

उदाहरण के लिए, यदि आप ageचर के लिए गेट्टर और सेटर विधि जोड़ना चाहते हैं, तो आप सिर्फ दो लम्बोक एनोटेशन जोड़ सकते हैं:

@Getter @Setter 
public int age = 10;

यह कोड के समान है:

private int age = 10;
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}

आप lombok के बारे में और जानकारी यहाँ प्राप्त कर सकते हैं: Project Lombok


1
बस! आपका बहुत बहुत धन्यवाद! वास्तव में, आपका उत्तर शीर्ष पर होना चाहिए, क्योंकि सभी बायलरप्लेट जावा कोड एक को देखने या लिखने के लिए लाइमॉक एकमात्र सही समाधान है। धन्यवाद!
स्टीफन एंडरुलिस

2
प्रोजेक्ट लोम्बोक (या कम से कम विचार) जावा 11 का हिस्सा होना चाहिए। मैं
गेटो

31

गेटर्स एंड सेटर्स जेनरेट करने के तरीके -

1) प्रेस Alt+ Shift+ S, फिरR
2) राइट क्लिक करें -> स्रोत -> गेटर्स और सेटर्स जनरेट करें
3) सोर्स मेनू पर जाएं -> गेटर्स एंड सेटर्स जनरेट करें
4) विंडोज मेनू पर जाएं -> प्राथमिकताएं -> जनरल -> कीज (राइट जनरेट) getters और पाठ क्षेत्र पर setters)
5) त्रुटि बल्ब पर क्लिक करें क्षेत्र की -> getters और setters बनाने ...
6) प्रेस Ctrl+3 और लिखने ही टिककर खेल और पाठ क्षेत्र पर setters तो विकल्प का चयन करें getters और setters उत्पन्न

अगर मैक ओएस Alt + cmd + S दबाएं तो गेटर्स एंड सेटर्स चुनें


2
मुझे लगता है कि 1 इस तरह से थोड़ा आसान है: 1) Alt + Shift + S दबाएं, फिर R
Paco Abato

1
Ctrl-3 दबाने और सीधे बाद में "गेट्टर" टाइप करने से सूची गायब है। विशिष्ट शॉर्टकटों की तुलना में याद रखना बहुत आसान है, क्योंकि यह हर कमांड, दृश्य आदि के लिए काम करता है।
Bananeweizen

@ बाननेविज़न - धन्यवाद
दीपक गुप्ता

11

राइट क्लिक-> गेट जनरेट और सेटर काम को अच्छी तरह से करता है लेकिन अगर आप विंडोज में ग्रहण में कीबोर्ड शॉर्टकट बनाना चाहते हैं, तो आप निम्न चरणों का पालन कर सकते हैं:

  1. विंडो> प्राथमिकताएं पर जाएं
  2. जनरल> कुंजी पर जाएं
  3. "त्वरित सहायता के लिए सूची - क्षेत्र के लिए गेट्टर / सेटर बनाएं"
  4. नीचे दिए गए "बाइंडिंग" टेक्स्टफील्ड में, वांछित कुंजियाँ रखें (मेरे मामले में, मैं ALT + SHIFT + G का उपयोग करता हूं)
  5. हिट लागू करें और ठीक है
  6. अब अपने जावा एडिटर में, उस फ़ील्ड को चुनें जिसके लिए आप गेट्टर / सेटर विधियाँ बनाना चाहते हैं और चरण 4 में दिए गए शॉर्टकट को दबाएँ। इस विंडो में तरीके बनाने के लिए ठीक-ठीक दबाएँ।

उम्मीद है की यह मदद करेगा!


9

ज़रूर।

स्रोत मेनू या संदर्भ मेनू से चयनित क्षेत्र या प्रकार पर जनरेट गेटर्स और सेटर्स का उपयोग करें, या संवाद खोलने के लिए एक प्रकार में एक पाठ चयन। जनरेट गेटर्स एंड सेटर्स संवाद चयनित प्रकार के सभी क्षेत्रों के लिए गेटर्स और सेटर्स दिखाता है। विधियों को समूह के क्षेत्रों द्वारा वर्गीकृत किया जाता है।

अधिक जानकारी के लिए मदद दस्तावेज पर एक नज़र डालें ।


8

हाँ। कोड पर राइट-क्लिक करें और आपको एक मेनू पॉप अप दिखाई देता है; वहाँ "स्रोत", "गेटर्स एंड सेटर्स जेनरेट करें" और इसके बगल में आप शॉर्टकट देख सकते हैं, जो मेरे सिस्टम पर Alt + Shift + S और R है।

इसी तरह आप उस मुख्य मेनू में अन्य सबमेनस पर नेविगेट कर सकते हैं, उपयुक्त शॉर्टकट टाइप करके आप मुख्य संदर्भ मेनू के बजाय सीधे सबमेनू जाते हैं, और फिर मेनू से चुन सकते हैं या सूची से लेने के लिए कोई अन्य पत्र टाइप कर सकते हैं।



7

मैं पहले निजी क्षेत्र बनाना पसंद करता हूं

private String field;

ग्रहण स्वचालित रूप से चर को उजागर करेगा, अपने नए चर पर कर्सर स्थिति करके, Ctrl + 1. दबाएं यह तब आपको मेनू बनाने के लिए मेनू और सेटर देगा।

मैं Ctrl + 1 दबाता हूं क्योंकि यह थोड़ा अधिक बुद्धिमान है कि मुझे क्या लगता है कि आप आगे क्या चाहते हैं।


5

Alt + Shift + S + R दबाएं ... और उसके बाद सिलेक्ट करें कि आपको कौन से फील्ड में गेटर्स या सेटर्स जेनरेट करने हैं या दोनों


5
  • सभी चर के लिए ALT + SHIFT + S फिर R और सभी के लिए ALT + A दबाएँ

  • चर पर एकल चर बिंदु कर्सर के लिए फिर CTRL + 1 दबाएं और सुझावों से दूसरे विकल्प के लिए जाएं

स्क्रीनशॉट


धन्यवाद, यह वही है जिसकी मुझे तलाश थी।
शम्स नाहिद

4

एक खुला स्रोत जार के रूप में उपलब्ध पता नहीं है लंबोक तुम सिर्फ जार व्याख्या अपने POJO के साथ जोड़ने और फिर, @Getter और @Setter यह getters और setters पैदा करेगा स्वचालित रूप से।

इसके अलावा हम अन्य सुविधाओं का उपयोग कर सकते हैं जैसे @ToString , @EqualsAndHashCode और अन्य बहुत बढ़िया सामान जो आपके आवेदन से वेनिला कोड को हटा देता है


3

ग्रहण> स्रोत> गेटर्स और सेटर्स जनरेट करें


3

** ग्रहण Ide में

बसने वाले और पाने वाले दोनों पैदा करने के लिए -> alt + shift + s + r फिर Alt A फिर ok पर क्लिक करें;

केवल गेटर्स जेनरेट करने के लिए -> alt + shift + s + r फिर g दबाएँ फिर ok बटन पर क्लिक करें;

केवल सेटर जनरेट करने के लिए -> alt + shift + s + r फिर l दबाएं फिर ok बटन पर क्लिक करें ;;


2

उस संपत्ति पर दायाँ क्लिक करें जिसे आप गेटर उत्पन्न करना चाहते हैं और चुन सकते हैं

Source -> Generate Getters and Setters...

2

1) Windows-> प्राथमिकताएं-> सामान्य-> कुंजी पर जाएं

2) command" जनरेट गेटर्स एंड सेटर्स " चुनें

3) में Binding, (जैसे + Alt + Shift + G ) का उपयोग करने के लिए शॉर्टकट दबाएं

4) अप्लाई पर क्लिक करें और आप जाने के लिए अच्छे हैं


1
  1. ग्रहण में वर्ग फ़ाइल खोलें
  2. वर्ग नाम पर डबल क्लिक करें या इसे हाइलाइट करें
  3. फिर सोर्स -> इंसर्ट कोड डालें
  4. गेट्टर और सेटर पर क्लिक करें

यह उन फ़ील्ड्स को चुनने के लिए एक पॉपअप खोलता है जिसके लिए गेट्टर / सेटर विधियाँ उत्पन्न की जाती हैं। खेतों का चयन करें और "उत्पन्न" बटन पर क्लिक करें। यहां छवि विवरण दर्ज करेंयहां छवि विवरण दर्ज करें


1

अपने पूजोस के लिए प्रोजेक्ट लोम्बोक या बेहतर कोटलिन का उपयोग करें।

(इसके अलावा, अपने फिर से शुरू करने के लिए कोटलिन जोड़ने के लिए?))

यह :

public class BaseVO {
    protected Long id;

    @Override
    public boolean equals(Object obj) {
        if (obj == null || id == null)
            return false;

        if (obj instanceof BaseVO)
            return ((BaseVO) obj).getId().equals(id);

        return false; 
    }

    @Override
    public int hashCode() {
        return id == null ? null : id.hashCode();
    }
    // getter setter here
}

public class Subclass extends BaseVO {
    protected String name;
    protected String category;
    // getter setter here
}

यह बन जाएगा:

open class BaseVO(var id: Long? = null) {

    override fun hashCode(): Int {
        if (id != null)
            return id.hashCode()

        return super.hashCode()
    }

    override fun equals(other: Any?): Boolean {
        if (id == null || other == null || other !is BaseVO)
            return false

        return id.hashCode() == other.id?.hashCode()
    }
}

@Suppress("unused")
class Subclass(
        var name: String? = null,
        var category: String? = null
) : BaseVO()

या कोटलिन के "डेटा" कक्षाओं का उपयोग करें। आप अंत में कोड की बहुत कम पंक्तियाँ लिखते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.