Java 我们可以将字符串传递给需要向量参数的方法吗?
我有一种发送签名为的电子邮件的方法Java 我们可以将字符串传递给需要向量参数的方法吗?,java,vector,Java,Vector,我有一种发送签名为的电子邮件的方法 sendemail(Vector addr, String subject, String body) zvector addr包含电子邮件必须发送到的电子邮件地址 如果我们有多个分开的电子邮件地址,那么我们将每个地址添加到 向量并传递它。但是现在我只想把邮件发到一个地址 因此,我可以将字符串电子邮件地址直接传递给方法或需要的对象吗 要将单个字符串也添加到向量 您将需要创建一个单元素向量。下面是一个创建一项向量的方法: public <T> Ve
sendemail(Vector addr, String subject, String body)
zvector addr包含电子邮件必须发送到的电子邮件地址
如果我们有多个分开的电子邮件地址,那么我们将每个地址添加到
向量并传递它。但是现在我只想把邮件发到一个地址
因此,我可以将字符串电子邮件地址直接传递给方法或需要的对象吗
要将单个字符串也添加到向量
您将需要创建一个单元素
向量
。下面是一个创建一项向量的方法:
public <T> Vector<T> singletonVector(T item) {
Vector<T> v = new Vector<T>(1);
v.add(item);
return v;
}
您将需要创建一个单元素
向量
。下面是一个创建一项向量的方法:
public <T> Vector<T> singletonVector(T item) {
Vector<T> v = new Vector<T>(1);
v.add(item);
return v;
}
您肯定需要实例化一个新的
向量
,并向其添加字符串
另一种解决方案是使用不同的签名重载函数:
sendemail(Vector<String> addr, String subject, String body) {
..
}
sendemail(String addr, String subject, String body) {
Vector<String> vaddr = new Vector<String>();
vaddr.add(addr);
sendemail(vaddr, subject, body);
}
sendmail(矢量地址、字符串主题、字符串正文){
..
}
sendemail(字符串地址、字符串主题、字符串正文){
向量vaddr=新向量();
vaddr.add(地址);
发送电子邮件(vaddr、主题、正文);
}
因此,新的
向量仍然是实例化的,但至少您可以使用您喜欢的签名。您肯定需要实例化一个新的向量
,并向其添加字符串
另一种解决方案是使用不同的签名重载函数:
sendemail(Vector<String> addr, String subject, String body) {
..
}
sendemail(String addr, String subject, String body) {
Vector<String> vaddr = new Vector<String>();
vaddr.add(addr);
sendemail(vaddr, subject, body);
}
sendmail(矢量地址、字符串主题、字符串正文){
..
}
sendemail(字符串地址、字符串主题、字符串正文){
向量vaddr=新向量();
vaddr.add(地址);
发送电子邮件(vaddr、主题、正文);
}
因此,新的向量仍然是实例化的,但至少可以使用您喜欢的签名。您需要将单个字符串添加到向量中
如果可以修改sendemail,则可以将其定义为:
public void sendemail(String subject, String body, String ... addr)
然后你不需要构造一个向量,你只需要传递地址 您需要将单个字符串添加到向量
sendemail(String...addr, String subject, String body)
{
//addr.length(): The number of email address
//addr[0]: 1st email adrdess
//addr[1]: 2nd email adrdess
.
.
.
//addr[addr.length-1]: last email adrdess
}
如果可以修改sendemail,则可以将其定义为:
public void sendemail(String subject, String body, String ... addr)
然后你不需要构造一个向量,你只需要传递地址
sendemail(String...addr, String subject, String body)
{
//addr.length(): The number of email address
//addr[0]: 1st email adrdess
//addr[1]: 2nd email adrdess
.
.
.
//addr[addr.length-1]: last email adrdess
}
我建议你这样写:
sendemail(String...addr)
{
subject=addr[addr.lentgh-2];
body=addr[addr.lentgh-1];
addr[0]..addr[addr.length-3]: email addresses.
}
我建议你这样写:
sendemail(String...addr)
{
subject=addr[addr.lentgh-2];
body=addr[addr.lentgh-1];
addr[0]..addr[addr.length-3]: email addresses.
}
sendemail是一项现有功能,用于在多种情况下发送电子邮件。因此,我认为我无法更改签名。sendemail是一项现有功能,用于在多种情况下发送电子邮件。所以我想我不能更改签名。顺便说一句:。Java类是区分大小写的(vector=>vector,string=>string),很抱歉在这里输入error.BTW:。Java类是区分大小写的(vector=>vector,string=>string),很抱歉在这里输入错误。