安卓实习第十五天

- Java去除字符串中的空格,回车,换行符和制表符

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class StringUtils {
    public static String replaceBlank(String str) {
        String dest = "";
        if (str!=null) {
            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
            Matcher m = p.matcher(str);
            dest = m.replaceAll("");
        }
        return dest;
    }
    public static void main(String[] args) {
        System.out.println(StringUtils.replaceBlank("just do it!"));
    }
    /*-----------------------------------

    笨方法:String s = "你要去除的字符串";
            1.去除空格:s = s.replace('\\s','');
            2.去除回车:s = s.replace('\n','');
    这样也可以把空格和回车去掉,其他也可以照这样做。

    注:\n 回车(\u000a) 
    \t 水平制表符(\u0009) 
    \s 空格(\u0008) 
    \r 换行(\u000d)*/
}

- 装饰者模式

实现以下功能:

这里写图片描述

使用装饰者模式代码如下:

Worker.java

public interface Worker {
    public void doSomeWork();
}

Plumber.java

public class Plumber implements Worker{
    @Override
    public void doSomeWork(){
        System.out.println("修水管");
    }
}

Carpenter.java

public class Carpenter implements Worker {
    @Override
    public void doSomeWork(){
        System.out.println("修门窗");
    }
}

AWorker.java

public class AWorker implements Worker{
    private Worker worker;
    public AWorker(Worker worker){
        this.worker = worker;
    }
    @Override
    public void doSomeWork() {
        System.out.println("你好");
        worker.doSomeWork();
    }
}

Test.java

public class Test {
    public static void main(String[] args) {
        Plumber plumber = new Plumber();
        AWorker aworker = new AWorker(plumber);
        aworker.doSomeWork();
    }
}

装饰模式:动态地给一个对象添加一些额外的职责

这里写图片描述

  1. 抽象组件(Component)角色:组件对象的接口,可以给这些对象动态地添加职责。
  2. 具体组件(ConcreteComponent)角色:具体的组件对象,实现组件对象接口,通过就是被装饰器装饰的原始对象,也就是可以给这个对象添加额外职责。
  3. 装饰器(Decorator)角色:所有装饰器的抽象父类,需要定义一个与组件接口相一致的接口,并持有一个Component对象,本质上就是持有一个被装饰的对象。
  4. 具体装饰器(ConcreteDecorator)角色:实际的装饰器对象,实现具体的要向被告装饰对象添加的额外功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值