Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Supplier的使用[通俗易懂]

Supplier的使用[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-11-17 03:15:50
发布于 2022-11-17 03:15:50
34300
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

背景:如何将一个域关联的属性搞到一个类中,可以使用Supplier这个类

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class SupplierTest {
    
    public  enum PersonEnum{
        NAME("name",PersonEnum::getName),
        AGE("age",PersonEnum::getAge)
        ;
        private String key;
        
        private Supplier<String> supplier;
        
        PersonEnum(String key,Supplier<String> supplier){
            this.key=key;
            this.supplier=supplier;
        }
        private static String getName(){
            return "张三丰";
        }
        
        private static String getAge(){
            return "100";
        }
        
        public static void show(){
            for(PersonEnum personEnum:PersonEnum.values()){
                System.out.println(personEnum.key+"---"+personEnum.supplier.get());
            }
        }
    }
    

    /**
     * 
     * @param args
     */
    public static void main(String[] args) {
        PersonEnum.show();
    }

}

name—张三丰

age—100

合理的使用枚举,可以增加类的独立使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/215544.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
工具类BeanMap,BeanCopier
对象之间的转换; 深度复制; 1,BeanMap 实现的是Map接口;将对象转换成Map非常简单; 2,BeanCopier 深度复制;
全栈程序员站长
2022/10/03
4630
java notifyall_Java Thread notifyAll()方法[通俗易懂]
Thread类的notifyAll()方法用于唤醒所有线程。此方法向特定对象的所有等待线程发出通知。
全栈程序员站长
2022/10/04
1700
java cloneable_java.lang.Cloneable的理解「建议收藏」
以前也用过这个接口,那时是直接所有的东西都自己写了,也没发现问题。最近无意间发现这个接口的实现并不是想象中的那样,所以稍微研究了下,给大家分享一下。
全栈程序员站长
2022/11/04
2030
hsql大全[通俗易懂]
HQL:Hibernate Query Language HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。 HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按 如下步骤进行: (1)获取Hibernate Session对象; (2)编写HQL语句; (3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象; (4)如果HQL语句包含参数,调用Query的setXxx方法为参数赋值; (5)调用Query对象的list等方法遍历查询结果。 查询示例: public class HqlQuery …{ public static void main(String[] args) throws Exception …{ HqlQuery mgr = new HqlQuery(); //调用查询方法 mgr.findPersons(); //调用第二个查询方法 mgr.findPersonByHappenDate(); HibernateUtil.sessionFactory.close(); } //第一个查询方法 private void findPersons() …{ //获得Hibernate Session Session sess = HibernateUtil.currentSession(); //开始事务 Transaction tx = sess.beginTransaction(); //以HQL语句创建Query对象 //执行setString方法为HQL语句的参数赋值 //Query调用list方法访问查询的全部实例 List p1 = sess.createQuery(“from Person p where o.myEvents.title = : eventTitle”).setString(“eventTitle”, “很普通事情”).list(); //遍历查询的全部结果 for (Iterator pit = p1.iterator(); pit.haxNext(); ) …{ Person p = (Person)pit.next(); System.out.println(p.getName()); } //提交事务 tx.commit(); HibernateUtil.closeSession(); } //第二个查询方法 private void findPersonByHappenDate() throws Exception …{ Session sess = HibernateUtil.currentSession(); Transaction tx = sess.beginTransaction(); //解析出Date对象 SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-MM-dd”); Date start = sdf.parse(“2007-11-27”); System.out.println(“系统开始通过日期查找人” + start); //通过Session的createQuery方法创建Query对象 //设置参数 //返回结果集 List pl = sess.createQuery( “from Person p where p.myEvents.happenDate between :firstDate and :endDate”) .setDate(“firstDate”, start) .setDate(“endDate”, new Date()) .list(); //遍历结果集 for (Iterator pit = pl.iterator(); pit.hasNex
全栈程序员站长
2022/11/08
1.1K0
java基础练习题(含答案)[通俗易懂]
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5},要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
全栈程序员站长
2022/09/08
1K0
注解式elasticsearch+SpringBoot(附分布式配置)
前言:以前使用的是Rest High Level Client客户端,使用起来一大堆的类相互嵌套,特别是agg操作,代码十分惨烈。
全栈程序员站长
2022/11/16
2860
注解式elasticsearch+SpringBoot(附分布式配置)
关于Set集合去重[通俗易懂]
从中可以看出HashSet中是有去重功能的,那我们来试试自定义对象,看看能不能去重。
全栈程序员站长
2022/06/26
5960
关于Set集合去重[通俗易懂]
用Java代码实现学生管理系统[通俗易懂]
思考: 假如并没有先添加学生,而是一进来就直接查看学生信息,这时候集合中是没有数据的,控制台就不可能有学生数据信息,表头的信息也不应该显示。
全栈程序员站长
2022/11/08
9260
用Java代码实现学生管理系统[通俗易懂]
protostuff基本使用[通俗易懂]
protostuff基于Google Protobuf,好处就是不用自己写.proto文件即可实现对象的序列化与反序列化,下面给出示例代码。
全栈程序员站长
2022/08/31
6090
C#中关于Struct(结构体)介绍以及附带案例解释,一看就会,一学就懂系列[通俗易懂]
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录,一般的我们主要用结构体来封装一些方法或者属性,以便于调用,使用结构体一定程度上减少了代码运算量,也可以说比较方便;
全栈程序员站长
2022/11/08
2.7K0
C#中关于Struct(结构体)介绍以及附带案例解释,一看就会,一学就懂系列[通俗易懂]
自定义事务注解[通俗易懂]
用过spring的,应该都知道@transactional这个注解。这个注解给我们日常开发带来了很大便利,让我们无需为了数据的提交和回滚操心,只需要关注自己的业务逻辑即可。这里我模拟一下spring的注解是如何执行的。
全栈程序员站长
2022/07/28
4040
自定义事务注解[通俗易懂]
petshop java_petshop.java[通俗易懂]
public Pet(int number,String variety,String color,int age,int price){
全栈程序员站长
2022/11/03
2850
BeanUtils如何优雅的拷贝List[通俗易懂]
一步到位springboot目录 gitee:https://gitee.com/chaitou/leilema.git
全栈程序员站长
2022/10/01
4.1K0
BeanUtils中copyProperties的使用[通俗易懂]
BeanUtils中copyProperties的作用是将一个对象中的属性值赋值(拷贝)给另一个对象中对应的属性,并且对象之间可以没有任何联系。其中赋值成功的属性对应的属性名和属性类型必须相同,否则对应的属性值不会从一个对象赋值给另一个对象,但是此时不影响其他属性值的拷贝。具体如下所示。
全栈程序员站长
2022/11/10
4.3K0
关于属性描述符PropertyDescriptor[通俗易懂]
本来我也没有仔细了解过描述符这一块的知识,不过粉丝问了,我就抽周末的时间看看,顺便学习一下,粉丝问的刚好是PropertyDescriptor这个属性描述符,我看了下源码。
全栈程序员站长
2022/11/15
6020
关于属性描述符PropertyDescriptor[通俗易懂]
使用BeanUtils.copyProperties进行对象之间的属性赋值「建议收藏」
1、使用org.springframework.beans.BeanUtils.copyProperties方法进行对象之间属性的赋值,避免通过get、set方法一个一个属性的赋值
全栈程序员站长
2022/11/09
7420
使用BeanUtils.copyProperties进行对象之间的属性赋值「建议收藏」
java中static的用法[通俗易懂]
编写程序模拟实现选民投票过程,一群选民进行投票,每一个选民只允许进行一次投票,并且当投票总数达到100时,就停止投票
全栈程序员站长
2022/09/08
6260
浅拷贝和深拷贝的方法java_jdg粗中有细
结果分析:由输出结果可以看出,它们的地址值是相同的,那么它们肯定是同一个对象。teacher和otherteacher的只是引用而已,他们都指向了一个相同的对象Teacher(“Taylor”,26)。 这就叫做引用拷贝。
全栈程序员站长
2022/11/15
2890
浅拷贝和深拷贝的方法java_jdg粗中有细
什么是友元类[通俗易懂]
======================什么是友元类=======================
全栈程序员站长
2022/11/15
6140
什么是友元类[通俗易懂]
Java 继承(extends)详解
继承性是面向对象的第二大主要特征。 下面首先编写两个程序:Person类、Student类。
全栈程序员站长
2022/09/08
3630
相关推荐
工具类BeanMap,BeanCopier
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验