为了避免代码中的重复,有没有办法提取到所选代码的单独方法中?
class Builder
{
private final List< UnitIf > unit = new ArrayList<>();
private final List< TimeIf > time = new ArrayList<>();
public Builder withUnit( final UnitIf aUnit )
{
//Extract to method
if( aUnit != null )
{
unit.add( aUnit );
}
return this;
//----------------
}
public Builder withTime( final TimeIf aTime )
{
//Extract to method
if( aTime != null )
{
time.add( aTime );
}
return this;
//----------------
}
}
我的目标是通过消除重复来简化代码。但是代码的各个部分使用不同的数据类型。
1条答案
按热度按时间iyr7buue1#
添加方法
并实现类似
withUnit
并以同样的方式改变
withTime
。非通用版本
如果您不希望它成为泛型方法,只需省略类型参数
T
并将x
的类型更改为Object
:在内部,Java编译器会将
List<T>
编译为只有List
,我认为这被称为“类型擦除”。