You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java传入String[]调用tokenize方法报错,不解为何参数被判定为String

问题分析与解决

错误原因

你误解了报错信息——系统并没有把arr判定为String类型,而是你的tokenize方法实际定义的是接收单个String参数,但你传入的是String[](字符串数组),参数类型不匹配才触发了这个错误。报错里的The method tokenize(String) in the type ReadingScore is not applicable for the arguments (String[])意思是:ReadingScore类中的tokenize(String)方法,无法接收String[]类型的参数。

解决方法

根据你的需求选择对应的方案:

  1. 修改方法以支持接收String数组
    如果你确实需要tokenize方法处理String[]参数,调整方法的定义:

    // 假设返回类型是String,根据实际情况修改
    public static String tokenize(String[] arr) {
        // 这里编写处理字符串数组的逻辑
        StringBuilder result = new StringBuilder();
        for (String s : arr) {
            result.append(s).append(" ");
        }
        return result.toString().trim();
    }
    

    这样你的main方法调用tokenize(arr)就可以正常运行了。

  2. 遍历数组逐个调用原方法
    如果tokenize方法本来就是用来处理单个字符串的,那你需要遍历数组,对每个元素调用该方法:

    public static void main(String[] args) {
        String[] arr = {"I", "went", "to", "the", "park", "at", "2:30", "and", "saw", "a", "dog.", "It", "barked!"}; 
        for (String str : arr) {
            System.out.println(tokenize(str));
        }
    }
    

内容的提问来源于stack exchange,提问作者Emma Cheney

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 17:42:33