如何在List.of()中传入简单数组作为实体类构造参数
解决方案
你当前的代码存在两个需要调整的点:一是int数组参数的初始化写法,二是其余参数的类型不匹配问题,修正方案如下:
1. int数组参数的正确写法
Java中传递int数组参数,直接用new int[]{元素1, 元素2, ...}格式初始化即可:
- 有明确元素的场景:比如kids值为1001、1002、1003,写为
new int[]{1001, 1002, 1003} - 空数组场景:直接写
new int[]{} - 已经拿到第三方返回的数组变量的场景:直接传变量名即可,不需要额外初始化
2. 其余参数类型修正
你当前代码里给descendants、id、score、time这几个int类型的字段传了字符串值,需要调整为对应int类型的参数。
完整修正示例
@Override public List<Article> selectAllArticles() { // 以下为测试固定值,生产环境替换为第三方接口拉取的真实值即可 return List.of(new Article( "by字段真实值", 15, // descendants是int类型,传对应数字 new int[]{1001, 1002, 1003}, // kids数组,空数组就写new int[]{} 2048, // id为int类型 89, // score为int类型 (int) (System.currentTimeMillis() / 1000), // time一般为秒级时间戳 "文章标题", "story", "https://example.com/article/2048" )); }
如果是从第三方接口拉取到了kids的数组值,直接把对应变量传入即可:
// 假设你已经从第三方接口解析到了kids数组 int[] kidsFromThirdApi = parseKidsFromApiResult(apiResponse); // 构造对象时直接传变量 new Article(apiBy, apiDescendants, kidsFromThirdApi, apiId, apiScore, apiTime, apiTitle, apiType, apiUrl)
内容的提问来源于stack exchange,提问作者Emeka A
相关产品推荐
相关产品推荐

