2016-05-03 13 views
-3

In Klassenreihenfolge gibt es neue BigInteger zurück. Ich wollte den neuen BigInteger an pass_order() Funktionsvariablen trx_id übergeben. Wie sollte ich es weitergeben?Wie übergibt man die Return-Statement-Variable an eine andere Funktionsvariable?

public class order { 
public final class SessionIdentifierGenerator { 
    private SecureRandom random = new SecureRandom(); 

    public String nextSessionId() { 
     return new BigInteger(130, random).toString(32); 
    } 
} 
private void pass_order() { 
    String trx_id = SessionIdentifierGenerator(BigInteger; 
} 
+0

Machen Sie das nextSessionId() Funktion statisch, dann rufen SessionIdentifierGenerator.nextSessionId() aus der Funktion pass_order. – mdewit

+0

@mdewit: Man kann nicht nextSessionId() statisch buddy :) Innere Klasse kann keine statische Deklaration haben :) Ich dachte gleich früh dann merkte ich, dass es nicht so funktionieren wird :) –

+2

Ja, das muss die SessionIdentifierGenerator Klasse sein eine statische auch. Was es sein sollte, da es eine separate funktionierende Einheit ist. ZB öffentliche statische letzte Klasse SessionIdentifierGenerator {public static String nextSessionId() {...}}; – mdewit

Antwort

1

Sie können dies versuchen :)

public class order { 
     public final class SessionIdentifierGenerator { 
      private SecureRandom random = new SecureRandom(); 

      public String nextSessionId() { 
       return new BigInteger(130, random).toString(32); 
      } 
     } 
     private void pass_order() { 
      SessionIdentifierGenerator sessionIDGenerator = new SessionIdentifierGenerator(); 
      String trx_id = sessionIDGenerator.nextSessionId(); 
     } 
    } 
Verwandte Themen