在接口中使用泛型(Generics),可以让你在不指定具体类型的情况下定义接口,使接口更加通用、类型安全。下面用 Java 和 TypeScript 两种常见语言来说明(如果你用的是其他语言,也可以告诉我)。
public interface Repository<T> {
void save(T item);
T findById(int id);
}
实现接口时指定类型:
public class UserRepository implements Repository<User> {
public void save(User item) { }
public User findById(int id) { return null; }
}
public interface Pair<K, V> {
K getKey();
V getValue();
}
public interface ComparableService<T extends Comparable<T>> {
int compare(T a, T b);
}
public interface Converter {
<T> T convert(Object source, Class<T> targetType);
}
interface Repository<T> {
save(item: T): void;
findById(id: number): T | null;
}
使用:
interface User {
id: number;
name: string;
}
const userRepo: Repository<User> = {
save(user) {},
findById(id) { return null; }
};
interface Pair<K, V> {
key: K;
value: V;
}
interface HasId {
id: number;
}
interface Service<T extends HasId> {
getById(id: number): T;
}
interface Response<T = any> {
data: T;
code: number;
}
✅ 提高代码复用性
✅ 编译期/类型检查更安全
✅ 避免强制类型转换
✅ 更适合写通用框架或工具类
如果你是想问 某个具体语言(如 C# / Go / Kotlin / Rust) 或 某种使用场景(如 CRUD、回调、API 层),可以告诉我,我可以给你更针对性的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。