0
votes

Méthode Java par défaut à Kotlin

J'essaie de convertir la méthode suivante en kotlin mais je ne connais pas la syntaxe équivalente. La classe complète peut être trouvée ici . Je ne sais pas que nous pouvons implémenter cela en kolin.

@GetMapping("/account")
    @Transactional(propagation = REQUIRES_NEW)
    public HttpEntity<PagedModel<AccountModel>> listAccounts(
            @PageableDefault(size = 5, direction = Sort.Direction.ASC) Pageable page) {
        return ResponseEntity
                .ok(pagedResourcesAssembler.toModel(accountRepository.findAll(page), accountModelAssembler()));
    }

 private RepresentationModelAssembler<Account, AccountModel> accountModelAssembler() {
        return (entity) -> {
            AccountModel model = new AccountModel();
            model.setName(entity.getName());
            model.setType(entity.getType());
            model.setBalance(entity.getBalance());
            model.add(linkTo(methodOn(AccountController.class)
                    .getAccount(entity.getId())
            ).withRel(IanaLinkRelations.SELF));
            return model;
        };
    }


2 commentaires

Je ne vois pas une méthode par défaut (méthode implémentée dans une interface) ici; Quelle est exactement la partie dont vous ne savez pas comment traduire? Les annotations?


La deuxième méthode s'il vous plaît


3 Réponses :


1
votes

Pour convertir le code Java en code Kotlin de manière rapide, vous devez ouvrir le fichier .java que vous souhaitez convertir en kotlin.

Aller à CODE (MENU) / Cliquez sur Convertir le fichier Java en fichier KOTLIN

Ceci convertira automatiquement votre code Java en code Kotlin.


0 commentaires

1
votes

Pour moi, le moyen le plus court est de copier le code Java et de la coller dans le fichier Kotlin de l'IDE. Et l'IDE (Android Studio / Intellij) fera le reste. Cela pourrait faire face à des problèmes pour convertir le code. Pour ce cas, vous devez résoudre ceux manuellement.


0 commentaires

2
votes

Voici votre code à Kotlin: XXX

Bien sûr, je ne suis pas au courant de certaines de vos classes, il y a donc une chance qu'il ne compile pas. Certaines choses sont très proches de Java, mais de comprendre les autres, vous devez connaître Kotlin :)


1 commentaires

Si vous souhaitez faire plus d'idiomatique, vous pouvez remplacer la variable temporaire avec un appel à .Apply {...} et utilisez un corps d'expression pour éviter de spécifier le retour. taper. Et vous pouvez probablement utiliser it au lieu du paramètre d'entité ou supprimez les paramètres de type explicite. Mais ceux-ci s'entraînent dans des questions de style plutôt que de l'exactitude!