栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java多变长参数

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java多变长参数

仅允许最后一个参数为可变长度:

String prepareStatement(String[] columnNames, String... values)

String …等于String [],因此在这种情况下,您可以为第一个参数插入String [],然后检查它是否为空或有多长。

编辑到您的编辑

如果您确实需要所有字符串作为参数的输入,我建议定义一个真正不常见的字符串来分隔您的输入:

static String prepareStatement(String... params){    String ret = "";    boolean valueInput = false;    for(String s : params)    {        if(s.equals("MyReallyUncommonSeperateString"))        { valueInput = true; ret+="nvaluesn";//visual delimiter of columnNames and Values        }        else if(valueInput)        { //handling of your value inputs ret+=s; //example handling, concatenate everything        }        else        { //handling of your columnnames ret+=s; //example handling, concatenate everything        }    }    return ret;}

您可以称之为:

System.out.println(prepareStatement("a","b","c","d","e","MyReallyUncommonSeperateString","f","g","h","i","j","k"));

输出:

abcdevaluesfghijk

另一种方法是也将columnNames的长度作为参数:

static String prepareStatement(int length, String... params){    String ret = "";    for(int i = 0; i < length; i++){        //handling of columnnames        String colName = params[i];        //do something with colName        ret+=colName; //example handling, concatenate everything    }    ret+="nvaluesn";//visual delimiter of columnNames ans Values    for(int i = length; i < params.length; i++){        String value = params[i];        //do something with values        ret+=value; //example handling, concatenate everything    }    return ret;}

致电:

System.out.println(prepareStatement(5, "a","b","c","d","e","f","g","h","i","j","k"));

和相同的输出:

abcdevaluesfghijk


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/596256.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号