2016-07-07 10 views
0
generiert

jetzt habe ich ein Paket in meinem aktuellen Projekt mit 2 Java-Klassen. Einer von ihnen zieht Daten aus einer Tabelle und ordnet sie in eine Map. Die andere Klasse führt die Überprüfung durch, in der sie häufig auf diese Map zugreifen muss. Offensichtlich möchte ich dieses Map nicht jedes Mal erzeugen, wenn die überprüfende Klasse angerufen wird. Was ist der einfachste und effizienteste Weg für mich zu speichern, dass Map meine Prüfung Klasse schneller arbeiten. Ich hoffe, einen Weg zu finden, diese Karte in meinem Paket nach der Generierung global verfügbar zu machen. Brauche Rat!Wie bekomme ich Daten von einer Funktion in einer Klasse in einer anderen Klasse in demselben Paket in Java

Um es zu verdeutlichen, erweitern die Prüfklasse abstrakte Klasse eines Funkens UDF1. So wird es als UDF auf Spark funktionieren. Keine Hauptfunktion in beiden Klassen, THx.

+0

Was Sie mit 2 Java-Programmen bedeuten sie? Gibt es zwei .jar-Dateien oder -Klassen? – Blobonat

+0

machen Sie die Karte statisch .. Machen Sie es nur einmal laden und an anderen Orten wiederverwenden –

+0

Ich glaube nicht, dass Paket-Sharing zwischen 2 * Programme * ist eine gute Idee, oder ich habe nicht verstanden, was du meinst – Andrew

Antwort

1

Wenn ich verstehe Ihre Frage richtig .. Es ist wie unten

public class Loader { 

    public static Map<K, V> holder; 

    public void loadMap() { 
     // Code to populate map goes here 
    } 
} 

und Sie werden in der Lage seine Karte zugreifen wie

public class Checker { 

    public void check() { 
     // Acccess map like this Loader.holder; 
    } 
} 
+0

Ich machte diese Karte privat, dann habe ich versagt, wie dumm .... Sie haben Recht und danke für Ihre Hilfe, wirklich. –

+0

Gern geschehen :) –

Verwandte Themen