次のようなことを行って 2 つのクラスを 1 つにすることで、クラスのメソッドの量を減らすことができるかどうか誰か教えてください。
public void duplicateEntries(String personName, String entryType) throws CustomException
{
for (Entry entry : allEntries)
{
if ( entry instanceof entryType)
{
if (personName.equalsIgnoreCase(entry.getName()))
{
throw new CustomException("\nAn entry for " +
personName + "already exists. Entry has been cancelled.");
}
}
}
}
コンパイルしません。コンパイラは次の行に「シンボルが見つかりません - entryType」と報告します。
if ( entry instanceof entryType)
元のコード:
public void duplicatePersonal(String personName) throws CustomException
{
for (Entry entry : allEntries)
{
if ( entry instanceof Personal)
{
if (personName.equalsIgnoreCase(entry.getName()))
{
throw new CustomException("\nAn entry for " +
personName + "already exists. Entry has been cancelled.");
}
}
}
}
public void duplicateBusiness(String personName) throws CustomException
{
for (Entry entry : allEntries)
{
if ( entry instanceof Business)
{
if (personName.equalsIgnoreCase(entry.getName()))
{
throw new CustomException("\nAn entry for " +
personName + "already exists. Entry has been cancelled.");
}
}
}
}
コードをあまり最小化していないことはわかっていますが、このような方法で適用できる方法がいくつかあります。