热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为Java开发者设计,能够根据提供的Java类详细信息自动生成专业、规范的Javadoc文档。通过系统化的分析流程,确保生成的文档结构清晰、内容准确、符合Java开发规范。该提示词支持多种代码复杂度的处理,能够自动识别类功能、方法作用、参数含义等关键信息,输出标准化的API文档,帮助开发者提升代码可读性和维护性,适用于企业级开发、开源项目、教学演示等多种Java开发场景。
/**
特性与行为:
需要通过 {@link #evictExpired()} 主动淘汰。</li>
读操作({@link #get(Long)}、{@link #size()})持有读锁,允许并发读;写操作({@link #put(User, java.time.Duration)}、
{@link #evictExpired()}、{@link #evictById(Long)})持有写锁,互斥执行,确保与读操作的一致性。</li>
容量与清理:
{@code
{@code
/**
行为:
并发:在读锁下执行,允许与其他读操作并发。
/**
语义:
并发:在写锁下执行,与其他写操作互斥,并阻塞并发读以确保一致性。
/**
语义与边界:
并发:在写锁下执行,与读写操作互斥,保证移除期间的可见性与一致性。
/**
并发:在写锁下执行。
/**
注意:该数量可能包含已过期但尚未被 {@link #evictExpired()} 移除的条目。
并发:在读锁下执行。
/**
过期判断:
*/ static final class CacheEntry { final User user; final java.time.Instant expireAt;
/**
* 构造一个缓存条目。
*
* @param user 用户
* @param expireAt 过期时间点
*/
CacheEntry(User user, java.time.Instant expireAt) {
this.user = user;
this.expireAt = expireAt;
}
/**
* 判断条目是否已过期。
*
* <p>当且仅当 {@code Instant.now().isAfter(expireAt)} 时返回 {@code true}。
*
* @return 是否已过期
* @see java.time.Instant#isAfter(java.time.Instant)
*/
boolean isExpired() { return java.time.Instant.now().isAfter(expireAt); }
}
/**
相等性与哈希:
{@code
/**
* 构造函数。
*
* @param id 用户 ID,不能为空
* @param name 用户姓名,不能为空
* @param email 用户邮箱,不能为空
* @throws NullPointerException 当任一参数为 {@code null} 时抛出
*/
public User(Long id, String name, String email) {
this.id = java.util.Objects.requireNonNull(id, "id");
this.name = java.util.Objects.requireNonNull(name, "name");
this.email = java.util.Objects.requireNonNull(email, "email");
}
/**
* 返回用户 ID。
*
* @return 用户 ID
*/
public Long id() { return id; }
/**
* 返回用户姓名。
*
* @return 用户姓名
*/
public String name() { return name; }
/**
* 返回用户邮箱。
*
* @return 用户邮箱
*/
public String email() { return email; }
/**
* 基于 {@link #id()} 的相等性判断。
*
* @param o 待比较对象
* @return 当且仅当对象为 {@link User} 且 ID 相等时返回 {@code true}
*/
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof User)) return false; User u=(User)o; return java.util.Objects.equals(id,u.id); }
/**
* 基于 {@link #id()} 的哈希值。
*
* @return 哈希值
*/
@Override public int hashCode() { return java.util.Objects.hash(id); }
} }
import java.util.*; import java.util.function.Function; import java.util.stream.Collectors;
/**
private CollectionUtils() {}
/**
/**
/**
/**
import java.math.BigDecimal; import java.time.Instant; import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Objects;
/**
{@code
.orderId("ORD-20250101-0001")
.payerId("USER-10086")
.amount(new BigDecimal("128.50")) // scale <= 2 且 > 0
.currency("USD") // 3 位大写字母(ISO 4217 形式)
.putMetadata("channel", "WEB")
.putMetadata("campaign", "BLACK_FRIDAY")
.build();
private PaymentRequest(Builder b) { this.orderId = b.orderId; this.amount = b.amount; this.currency = b.currency; this.payerId = b.payerId; this.createdAt = b.createdAt == null ? Instant.now() : b.createdAt; this.metadata = Collections.unmodifiableMap(new HashMap<>(b.metadata)); validate(); }
/**
/**
/**
/**
/**
/**
/**
/**
/**
/**
* 设置订单标识。必须非空且非空白,否则构建时会失败。
*
* @param orderId 订单 ID
* @return 本构建器
*/
public Builder orderId(String orderId) { this.orderId = orderId; return this; }
/**
* 设置支付金额。要求:
* - 金额必须大于 0;
* - 金额的小数位(scale)不超过 2。
* 不满足将导致构建时校验失败。
*
* @param amount 支付金额
* @return 本构建器
* @see BigDecimal#scale()
* @see BigDecimal#signum()
*/
public Builder amount(BigDecimal amount) { this.amount = amount; return this; }
/**
* 设置货币代码。必须是 3 位大写字母(ISO 4217 形式),否则构建时校验失败。
*
* @param currency 货币代码(如 USD、CNY、EUR)
* @return 本构建器
*/
public Builder currency(String currency) { this.currency = currency; return this; }
/**
* 设置付款人标识。必须非空且非空白,否则构建时会失败。
*
* @param payerId 付款人 ID
* @return 本构建器
*/
public Builder payerId(String payerId) { this.payerId = payerId; return this; }
/**
* 设置创建时间。若不设置或设置为 null,则构建时使用 {@link Instant#now()}。
*
* @param createdAt 创建时间戳
* @return 本构建器
* @see Instant#now()
*/
public Builder createdAt(Instant createdAt) { this.createdAt = createdAt; return this; }
/**
* 添加一条元数据键值对。键与值均不允许为 null。
*
* @param key 元数据键(不可为 null)
* @param value 元数据值(不可为 null)
* @return 本构建器
* @throws NullPointerException 当 key 或 value 为 null 时
*/
public Builder putMetadata(String key, String value) {
Objects.requireNonNull(key, "key");
Objects.requireNonNull(value, "value");
this.metadata.put(key, value);
return this;
}
/**
* 构建不可变的 {@link PaymentRequest} 实例。
* <p>
* 在构建过程中将执行字段合法性校验,若违反以下任一条件将抛出异常:
* - orderId 非空且非空白;
* - payerId 非空且非空白;
* - amount 非空,scale ≤ 2,且 > 0;
* - currency 匹配正则 {@code [A-Z]{3}}。
* 若未设置 createdAt,将自动取 {@link Instant#now()}。
*
* @return 构建完成的不可变 {@link PaymentRequest}
* @throws IllegalArgumentException 当参数不满足合法性约束时
*/
public PaymentRequest build() { return new PaymentRequest(this); }
} }
打造一套“即用即得”的Java类文档生成指令,帮助团队在真实开发流中:
制定统一注释规范,批量为现有代码生成Javadoc,统一交付文档,缩短评审与验收时间,降低跨团队协作成本。
为核心模块自动生成API说明与示例,帮助新贡献者快速上手,减少重复答疑,提高贡献质量与项目口碑。
在重构、封装或模块拆分阶段同步更新文档,一键覆盖公共方法与异常说明,避免遗漏导致的回归问题。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期