2016-04-06 8 views
0

Jungs riefen i9 wissen, dass es Dummy qustion ist, aber ich bin Anfänger .. Ich habe diese KlasseObjekt aus der Klasse in Java

public class threadLocal { 
private static ThreadLocal<String> myThreadLocal; 

public threadLocal(){ 
    myThreadLocal = new ThreadLocal<String>(); 
} 

public static ThreadLocal<String> getMyThreadLocal() { 
    return myThreadLocal; 
} 

public static void setMyThreadLocal(ThreadLocal<String> myThreadLocal) { 
    threadLocal.myThreadLocal = myThreadLocal; 
} 
} 

, und ich will es so in einer anderen Klasse nennen

myThreadLocal.setMyThreadLocal("patrick"); 

Also was sollte ich in ThreadLocal Klasse ändern?

+0

yesss es ist ... ithreadLlocal contatins Objekt von Thread –

+4

Wenn _myThreadLocal_ vom Typ _threadLocal_ Sie nicht _setMyThreadLocal_ mit dem Argument "patrick" nennen , weil es ein Objekt vom Typ _ThreadLocal _ erwartet, kein Objekt vom Typ _String_. –

+0

@ModusTollens so was sollte Änderungen ich tun, um es mit Argument Patrick zu nennen ?? –

Antwort

3

Ich denke, dass Sie Ihre Klasse auf diese Weise neu schreiben sollten.

public class threadLocal { 
private static ThreadLocal<String> myThreadLocal = new ThreadLocal<String>(); 

public static String getMyThreadLocal() { 
    return myThreadLocal.get(); 
    } 

public static void setMyThreadLocal(String str) { 
    myThreadLocal.set(str); 
    } 
} 

Während eines Anrufs können Sie einfach anrufen

threadLocal.getMyThreadLocal() 
+0

und wie nennen Sie es in der Hauptklasse ?? –

+0

Do du meinst so –

+0

threadLocal local = new threadLocal(); \t local.setMyThreadLocal ("dsfd"); –

Verwandte Themen