JAVA 中的 ->

  1. 先看两段代码,比较一下

    简化前

/**
     * 创建代理     */    
     * private HttpProxyCacheServer createProxyServer() {
    
    
     * return new HttpProxyCacheServer.Builder(context).maxCacheSize(1024 * 1024 * 1024)// 1 Gb for cache
    *.cacheDirectory(getMusicCacheDir(context)).fileNameGenerator(new FileNameGenerator() {
    
    
     * @Override 
     * public String generate(String url)               
     * {
    
                        
     * int lastIndexOf = url.lastIndexOf("/");                    
     * return url.substring(lastIndexOf - 1);// 名称                
     * }                           
     *  }).build();    
     * }
用JAVA 中的 -> 简化后是这样的
/**
     *  /**
     * 创建代理     
     * */    
     * private HttpProxyCacheServer createProxyServer() {
    
            
     * return new HttpProxyCacheServer.Builder(context).maxCacheSize(1024 * 1024 * 1024)// 1 Gb for cache                
     * .cacheDirectory(getMusicCacheDir(context)).fileNameGenerator(url -> {
    
                        
     * int lastIndexOf = url.lastIndexOf("/");                    
     * return url.substring(lastIndexOf - 1);// 名称                
     * }).build();    
     * }
就是把  抽象函数的参数单独写出来,进行操作 如果是() ->

那么按钮的单击事件是不是可以这样写?
简化前

bt.setOnClickListener(new View.OnClickListener() {
    
    
@Override
public void onClick(View view) {
    
    

    }
    
            });

简化后?

bt.setOnClickListener(() ->{
    
    /*这里单击事件代码*/});

不太确定 ,待填坑。。。

猜你喜欢

转载自blog.csdn.net/ayibosi/article/details/104751526