两个相似的静态方法优化

下面这两个方法的实现代码能不能优化一下,我觉得两个方法的代码太相似了,是不是能把相同的代码提取出来。


   public static String joinArray(String separator, Object[] s) {

        if (s == null || s.length == 0)

            return "";

        StringBuilder sb = new StringBuilder();

        sb.append(s[0]);

        for (int i = 1; i < s.length; ++i) {

            if (s[i] != null) {

                sb.append(separator);

                sb.append(s[i].toString());

            }

        }

        return sb.toString();

    }

    

    public static String joinArray(String separator, int[] s) {

        if (s == null || s.length == 0)

            return "";

        StringBuilder sb = new StringBuilder();

        sb.append(s[0]);

        for (int i = 1; i < s.length; ++i) {

            sb.append(separator);

            sb.append(s[i]);

        }

        return sb.toString();

    }


呼唤远方
浏览 535回答 3
3回答

一只名叫tom的猫

没什么好办法,要么传Integer数组,统一用object[]对象,要么就像你这样写2个重载方法你想多了Integer比int之间性能没那么严重,除非你代码对tps非常敏感,才传int[],如果为了代码传Integer没什么影响的

慕码人2483693

没想到特别好的办法,要么把参数写再一起,传值的时候传Null的不解析.要么就&nbsp;Integer[] a = {1,2,3,4,5,6,7,8,9};这样构造数组,可以统一使用object这个参数类型,但是总感觉浪费了内存.等待大神回答吧

肥皂起泡泡

把参数改成Object,不用数组类型,在方法体里面判断吧。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java