这是一个非常简化的例子:
function getList<Tx>():Vector<Tx> {
$values = ['1','2','3','4','5'];
$list = Vector{};
foreach ($values as $value) {
$list->add((Tx) $value);
}
return $list;
}
例如,我知道 $values 是数字的,源自数据库获取结果或其他内容,但存储为字符串。所以我想将它们转换为 int through
Vector<int> $myList = $this->getList<int>();
但
不支持对象强制转换。尝试“if ($var instanceof Tx)”或“invariant($var instanceof Tx, ...)”。(命名[2055])
getListInt():Vector<int>
那么在这种情况下,我应该为不同的类型使用两个函数getListString():Vector<string>
吗?或者我确实错过了什么?