面试题答案
一键面试工厂模式概念
工厂模式是一种创建型设计模式,它提供了一种创建对象的方式,将对象的创建和使用分离。通过使用工厂模式,可以将对象的创建逻辑封装在一个工厂类中,而不是在客户端代码中直接实例化对象。这样可以提高代码的可维护性和可扩展性,当需要创建新的对象类型时,只需要修改工厂类,而不需要修改所有使用该对象的客户端代码。
在Java集合框架相关类创建场景中的应用举例
以创建 List
集合为例,java.util.Arrays
类中的 asList
方法就可以看作是工厂模式的应用。
import java.util.Arrays;
import java.util.List;
public class FactoryPatternExample {
public static void main(String[] args) {
// 使用工厂方法创建List
List<String> list = Arrays.asList("apple", "banana", "cherry");
System.out.println(list);
}
}
在上述代码中,Arrays.asList
方法就像是一个工厂方法,它负责创建 List
对象。客户端代码只需要调用这个方法,而不需要关心 List
对象具体是如何创建的,这使得代码更加简洁,并且将对象的创建逻辑封装在 Arrays
类中。 另外,Collections
类中的一些静态方法如 Collections.singletonList
也是类似的应用,用于创建一个只包含指定元素的不可变 List
。
import java.util.Collections;
import java.util.List;
public class AnotherExample {
public static void main(String[] args) {
List<String> singletonList = Collections.singletonList("single element");
System.out.println(singletonList);
}
}
这里 Collections.singletonList
作为工厂方法创建了特定类型的 List
对象,隐藏了对象创建的具体实现细节。