Java 1.8 Lambda 访问成员变量和静态变量

发布于

上一章节中,了解了如何在 Lambda 表达式中访问局部变量。与局部变量相比,在 Lambda 表达式中对成员变量和静态变量拥有读写权限:

    @FunctionalInterface
    interface Converter<F, T> {
        T convert(F from);
    }
class Lambda4 {
        // 静态变量
        static int outerStaticNum;
        // 成员变量
        int outerNum;

        void testScopes() {
            Converter<Integer, String> stringConverter1 = (from) -> {
                // 对成员变量赋值
                outerNum = 23;
                return String.valueOf(from);
            };

            Converter<Integer, String> stringConverter2 = (from) -> {
                // 对静态变量赋值
                outerStaticNum = 72;
                return String.valueOf(from);
            };
        }
    }
a:[["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"Article\",\"headline\":\"Java 1.8 Lambda 访问成员变量和静态变量\",\"description\":\"上一章节中,了解了如何在 Lambda 表达式中访问局部变量。与局部变量相比,在 Lambda 表达式中对成员变量和静态变量拥有读写权限...\",\"author\":{\"@type\":\"Organization\",\"name\":\"编码世界\"},\"publisher\":{\"@type\":\"Organization\",\"name\":\"编码世界\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://www.mashangan.com/static/logo-column3.png\"}},\"datePublished\":\"2023-05-25T16:52:16+08:00\",\"dateModified\":\"2023-05-25T16:52:16+08:00\"}"}}],["$","script",null,{"type":"application/ld+json","dangerouslySetInnerHTML":{"__html":"{\"@context\":\"https://schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"首页\",\"item\":\"https://www.mashangan.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java 1.8 Lambda 访问成员变量和静态变量\",\"item\":\"https://www.mashangan.com/java8/java8-lambda-access-member-var-and-static-var.html\"}]}"}}],["$","$L11",null,{"article":{"id":314,"title":"Java 1.8 Lambda 访问成员变量和静态变量","keywords":"java,8,lambda,访问,成员变量,静态变量","description":"上一章节中,了解了如何在 Lambda 表达式中访问局部变量。与局部变量相比,在 Lambda 表达式中对成员变量和静态变量拥有读写权限...","titleImage":"","createDate":"2023年5月25日","createTime":"16:52:16","isoCreateTime":"2023-05-25T16:52:16+08:00","updateTime":"2023年5月25日","isoUpdateTime":"2023-05-25T16:52:16+08:00","courseEnTitle":"java8","courseTitle":"Java 1.8 新特性教程","jumpUrl":"/java8/java8-tutorial.html","enTitle":"java8-lambda-access-member-var-and-static-var","contentHtml":"

上一章节中,了解了如何在 Lambda 表达式中访问局部变量。与局部变量相比,在 Lambda 表达式中对成员变量和静态变量拥有读写权限: