String spliten und in BigInteger umwandeln

tanzverfuehrung

Bekanntes Mitglied
also ich habe einen String der mehrere ids beinhaltet(serialIds)

z.B. serialIds={12,56,69,45}
und es soll jede einzelne id in ein Set gepackt werden
also
Set<BigInteger> ids = new HashSet<BigInteger>();
set[0] = 12
set[1] = 56 usw...
(ich glaube das ist so falsch,so gibt man nur arrays an ODER?!
.....wie kriege ich ein bestimmtes objekt aus einem set???????:L)

das wichtige ist dabei,das das set nur BigInteger beinhalten darf!
ich habe es mit einem Array versucht aber schon die zeile geht nicht
BigInteger integerSerialIds = BigInteger.valueOf(split[0]);

hier meine ganze methode bis jetzt!


Java:
	private Set<BigInteger> splitSerialIds(String serialIds){
		
		String[] split = serialIds.split(",");
		BigInteger integerSerialIds = BigInteger.valueOf(split[0]);
		
		
		return set;
		
	}


hoffe es kann mir jemand helfen...

wie wandel ich ein String in ein BigInteger???????:L😳




habe es jetzt nochmal anders versucht...
was haltet ihr hier von?

Java:
private Set<BigInteger> splitSerialIds(String serialIds){
		String[] split = serialIds.split(",");
		Set<BigInteger> ids = new HashSet<BigInteger>();
for (int i = 0; i < split.length; i++) {
	bigIntegerIds = new BigInteger(split[i]);
ids.add(bigIntegerIds);}

		return bigIntegerIds;
		
	}
 
Zuletzt bearbeitet:
valueOf unterstützt nur long.
Du kannst ein neues BigInteger übergeben und per Konstruktor den String setzen.
Für das was du willst eignet sich aber eher eine List besser. Ein HashSet ist quasi eine HashMap, die immer das selbe Value enthält. Damit kann man z. B. festhalten, welche id's schon bearbeitet wurden, falls sie sich wiederhohlen würden.
 
Java:
private Set<BigInteger> splitSerialIds(String serialIds) {
		String[] split = serialIds.split(",");
		Set<BigInteger> ids = new HashSet<BigInteger>();

		for (int i = 0; i < split.length; i++) {
			bigIntegerIds = new BigInteger(split[i]);
			ids.add(bigIntegerIds);
		}
		return ids;


so müsste es jetzt eigentlich gehen😉
 
Oder einfach...
Java:
private Set<BigInteger> splitSerialIds(String serialIds) {
    Set<BigInteger> set = new HashSet<BigInteger>();
    for (String s : serialIds.split(",")) {
        set.add(new BigInteger(s));
    }
    return set;
}
 

Zurück
Oben