泛型方法的问题

Jav*_*kar 0 java

我已经创建了一个方法如下

static <N> N addTwoString(N a, N b){


        StringBuilder sb = new StringBuilder();
        sb.append(a);
        sb.append(b);

        return sb.toString();
    }

public static void main(String[] args)
    {


        addTwoString("a", "b");
    }
Run Code Online (Sandbox Code Playgroud)

对于这种情况,我传递两个字符串并追加它并使用StringBuilder返回它.无论如何,我正在错误的回报声明说类型不匹配:不能转换从字符串到N.我的问题是这个方法接受字符串值(甚至类型是N)没有任何问题,但为什么它在return语句中给出错误?

roc*_*boy 5

sb.toString() 将始终返回一个字符串,另一方面,您的方法应返回N类型.

addTwoString(1,2)根据你的方法考虑,这应该返回Integer但是sb.toString()是一个String.这就是它编译错误的原因.