美文网首页Kotlin开发
Java 功能及对应至 Kotlin 的概要

Java 功能及对应至 Kotlin 的概要

作者: 神明大人啦 | 来源:发表于2021-07-16 16:11 被阅读0次
    2771626422987_.pic.jpg

    代码对照

    Java:

    import java.util.ArrayList;
    import java.util.List;
    
    
    public class Repository {
    
        private static final Repository INSTANCE = null;
    
        private List<User> users = null;
    
        public static Repository getInstance() {
            if (INSTANCE == null) {
                synchronized (Repository.class) {
                    if (INSTANCE == null) {
                        INSTANCE = new Repository();
                    }
                }
            }
            return INSTANCE;
        }
    
        // keeping the constructor private to enforce the usage of getInstance
        private Repository() {
    
            User user1 = new User("Jane", "");
            User user2 = new User("John", null);
            User user3 = new User("Anne", "Doe");
    
            users = new ArrayList();
            users.add(user1);
            users.add(user2);
            users.add(user3);
        }
    
        public List<User> getUsers() {
            return users;
        }
    
        public List<String> getFormattedUserNames() {
            List<String> userNames = new ArrayList<>(users.size());
            for (User user : users) {
                String name;
    
                if (user.getLastName() != null) {
                    if (user.getFirstName() != null) {
                        name = user.getFirstName() + " " + user.getLastName();
                    } else {
                        name = user.getLastName();
                    }
                } else if (user.getFirstName() != null) {
                    name = user.getFirstName();
                } else {
                    name = "Unknown";
                }
                userNames.add(name);
            }
            return userNames;
        }
    }
    
    
    

    Kotlin:

    object Repository {
    
        private val users: MutableList<User>? = null
    
        val formattedUserNames: List<String>
            get() {
                val userNames = ArrayList<String>(users!!.size)
                for ((firstName, lastName) in users) {
                    val name: String?
    
                    if (lastName != null) {
                        if (firstName != null) {
                            name = "$firstName $lastName"
                        } else {
                            name = lastName
                        }
                    } else if (firstName != null) {
                        name = firstName
                    } else {
                        name = "Unknown"
                    }
                    userNames.add(name)
                }
                return userNames
            }
    
        init {
    
            val user1 = User("Jane", "")
            val user2 = User("John", null)
            val user3 = User("Anne", "Doe")
            users = ArrayList()
            users!!.add(user1)
            users.add(user2)
            users.add(user3)
        }
    
        fun getUsers(): List<User>? {
            return users
        }
    }
    
    

    相关文章

      网友评论

        本文标题:Java 功能及对应至 Kotlin 的概要

        本文链接:https://www.haomeiwen.com/subject/yxsbpltx.html