Fügen Sie mit Java -Streams das Ergebnis des Methodenaufrufs zu einer anderen Sammlung hinzuJava

Java-Forum
Anonymous
 Fügen Sie mit Java -Streams das Ergebnis des Methodenaufrufs zu einer anderen Sammlung hinzu

Post by Anonymous »

Ich habe eine ArrayList (ohne Diamantbetreiber), die Objekte vom Typ userHelper speichert. Ich möchte den Iteratorcode in Stream umschreiben, aber ich bin mir nicht sicher, wie ich das Ergebnis einer Methodenaufruf zur Sammlung hinzufügen soll. Hier ist mein Code: < /p>

Code: Select all

List result = new ArrayList();

ArrayList userHelperAL = getUsersToAdd(start, num, usernameFilter, fullnameFilter);

for (Iterator userIt = userHelperAL.iterator(); userIt.hasNext();) {
// get the user
UserHelper userHelper = (UserHelper) userIt.next();

// get the user's permissions
AdminDto userPermissionDto = getNewAdminDtoByConsolePermissions(userHelper);
result.add(userPermissionDto);
}
Die GetNewadMindTobyConsolepermission Methode ist eine private Methode in SomeService Klasse. Stream: < /p>

Code: Select all

userHelperAL.stream()
.filter(obj -> obj instanceof UserHelper)
.map(obj -> (UserHelper) obj)
.map(SomeService::getNewAdminDtoByConsolePermissions)
.collect(Collectors.toCollection(() -> result));
< /code>
Der Fehler, den ich hier erhalte Hier.
Hier ist die GetNewadMindTobyConsolepermissions < /code> Methode: < /p>
private AdminDto getNewAdminDtoByConsolePermissions(UserHelper userHelper) {
long consolePermissions = userHelper.getConsolePermissions();

// Add the user's permissions to the map
Map permissionMap = getUserAdminPermissionMap();
int index = 0;

for (String key : permissionMap.keySet()) {
// the value is hidden for legacy purposes
permissionMap.put(key, someVALUE);
++index;
}

// build the dto
AdminDto resultDto = getAdminUserManagementPermissions(permissionMap);

return resultDto;
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post