Skip to content

guava

guava-retry重试机制

1
2
3
4
5
        <dependency>
            <groupId>com.github.rholder</groupId>
            <artifactId>guava-retrying</artifactId>
            <version>2.0.0</version>
        </dependency>
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
Retryer<Boolean> retryer = RetryerBuilder.<Boolean>newBuilder()
                .retryIfResult(Predicates.equalTo(false))
                .retryIfRuntimeException()
                .retryIfException()
                .withStopStrategy(StopStrategies.neverStop())
                .build();
        retryer.call(()->{
            scene.setSceneKey(IDUtil.verifyCode());
            return sceneService.save(scene);
        });

字符串切割Splitter

1
2
3
4
5
List<String> bigbayAppIdList = Splitter.on(",")
  .omitEmptyStrings()
  .trimResults()
  .splitToList("123,fjdi, 88,99 , , 8 9 ")
  .forEach(System.out::println);

运行结果

  • 123
  • fjdi
  • 88
  • 99
  • 8 9

拆分器工厂

方法 描述 范例
Splitter.on(char) 按单个字符拆分 Splitter.on(‘;’)
Splitter.on(CharMatcher) 按字符匹配器拆分 Splitter.on(CharMatcher.BREAKING_WHITESPACE)
Splitter.on(String) 按字符串拆分 Splitter.on(“, “)
Splitter.on(Pattern) Splitter.onPattern(String) 按正则表达式拆分 Splitter.onPattern(“\r?\n”)
Splitter.fixedLength(int) 按固定长度拆分;最后一段可能比给定长度短,但不会为空。 Splitter.fixedLength(3)

拆分器修饰符

方法 描述
omitEmptyStrings() 从结果中自动忽略空字符串
trimResults() 移除结果字符串的前导空白和尾部空白
trimResults(CharMatcher) 给定匹配器,移除结果字符串的前导匹配字符和尾部匹配字符
limit(int) 限制拆分出的字符串数量