我是java的新手,我有下面的代码(v是向量) 而且我不明白这一点:
(客户)v.get(i)
请向我解释.tks
public void insert(Customer c) {
boolean checkExist = true;
if (checkExist && !isIn(c,v)) {
for (int i = 0; i < v.size(); i++) {
int check = c.compareTo((Customer) v.get(i));
if (check < 0) {
Customer x = new Customer();
x = (Customer) v.get(i);
v.set(i, c);
c = x;
}
}
v.add(c);
}
}
public boolean isIn(Customer c, Vector els) {
c = new Customer();
for (int i = 0; i < els.size(); i++) {
if (c.equals(els.get(i))) {
return true;
}
}
return false;
}
答案 0 :(得分:0)
v.get(i)
获取v的 i 成员,(Customer)
将其转换为Customer类。
答案 1 :(得分:0)
它将v.get(i)
返回的对象强制转换为Customer,因此返回的对象可以被视为Customer,访问Customer类/接口中的方法。如果返回的对象无法强制转换为Customer,因为它不会扩展/实现Customer,它将抛出ClassCastException。
答案 2 :(得分:0)
您没有告诉我们$('#ancestor input').keyup(function(){
var lengthA = $('input[name=foo]').val().length;
var lengthB = $('input[name=bar]').val().length;
$('#some-button').prop('disabled', lengthA < 4 || lengthB < 4);
});
是如何宣布的。
在以下两行中,有一个无害的错误:
SELECT *
FROM myTable
WHERE MATCH(col1, col2, col3)
AGAINST('+italy +meats' IN BOOLEAN MODE);
在第一行创建一个新的Customer对象,但它永远不会被使用,并且在下一行的赋值之后 - 此对象有资格进行垃圾回收。
这两行可以替换为:
v
需要使用强制转换Customer x = new Customer();
x = (Customer) v.get(i);
的原因是,Customer x = (Customer) v.get(i);
被声明为包含更通用的类型对象,我们需要将其强制转换为(Customer)
以便将其分配给v
并使用Customer
属性和方法。
有关投射的详情,请参阅Casting Objects
部分。
答案 3 :(得分:0)
x = (Customer) v.get(i);
表示将类型中的i元素类型转换为Customer类。用简单的词来表达客户类型的v.get(i)。