gpt4 book ai didi

java - 不同类 StringBuilder 和 StringBuffer 的一种方法

转载 作者:行者123 更新时间:2023-12-01 07:47:32 25 4
gpt4 key购买 nike

每个类都有两个方法(StringBuffer 和 StringBuilder),并且代码重复

 public  void myStringBuffer() {
StringBuffer sBuf=new StringBuffer("stringBuffer");
//some code
}

public void myStringBuilder() {
StringBuilder sBuil=new StringBuilder("stringBuilder");
//some code (same as in first method, duplicated)
}

我想在方法中提取此代码,但我有不同的类

public someCode( Class<T> myStringObject)

这是关于泛型的,但是如何实现呢?

UPD:是的,泛型没有任何内容))感谢您的回答。

最佳答案

它们都实现了Appendable,因此只需将通用代码提取到方法中即可:

 public  void myStringBuffer() {
common(new StringBuffer("stringBuffer"));
}

public void myStringBuilder() {
common(new StringBuilder("stringBuffer"));
}

private void common(Appendable appendable) {
// some code.
}

如果您需要其他已实现接口(interface)的方法,请使用交集类型:

<T extends CharSequence & Appendable> void common(T t) {
// Some code.
}

关于java - 不同类 StringBuilder 和 StringBuffer 的一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48689962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com