新手,请教一道竞赛填空题
为了保证网络信息的健康,下列filter方法为聊天室实现了所谓“脏话过滤”功能。其中x存储原文,v中装入了若干禁止使用的词汇。比如“猪头”、“牛X”什么的。Filter方法把脏话替换为“***”,并返回过滤后的串。请完善之。
public static String filter(String x, Vector v)
{
for(int i=0; i<v.size(); i++)
x = __________________________________________;
return x;
}
参考答案: x.replaceAll((String)v.get(i), "***")
答案中的(String)v.get(i)是什么意思啊?还有为什么是从v中选取?脏话是X啊?(String)是强制转换成字符串类型吗?
----------------解决方案--------------------------------------------------------
Vector 是一个集合 里面包含了过滤的关键字
(String)v.get(i) 是获取第i个值 强转为String类型
----------------解决方案--------------------------------------------------------
为什么强制转换呢?Vector里不是本身装的就是String类的字符串(脏话内容)吗?
----------------解决方案--------------------------------------------------------
Vector<String> v 才是String类型
单独的Vector 是Object类型
----------------解决方案--------------------------------------------------------
哦~这样啊!谢谢你啊!
----------------解决方案--------------------------------------------------------
Vector v 作为一个集合,它可以存储任何对象,而现在只是需要替换string 型的x,则需要强制转化
----------------解决方案--------------------------------------------------------