为什么dart的哈希图不像Java的哈希图?
意味着Java的哈希图是
public function __invoke($logger)
{
foreach ($logger->getHandlers() as $handler) {
$handler->pushProcessor(function ($record) {
$record['extra']['id'] = $GLOBALS['log_id'];
$record['extra']['app'] = config('app.name');
return $record;
});
$format = "[%datetime%] [%extra.id%] [%extra.app%] [%level_name%] [%message%] [%context%]\n";
$ll = new LineFormatter($format, null, true, true);
$handler->setFormatter($ll);
}
}
但是飞镖是
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable {}
为什么是abstract class HashMap<K, V> implements Map<K, V> {}
?
!!!新问题!!!
abstract
功能。我想知道Map接口的void clear()
函数是在哪里实现的?我在抽象的HashMap类中找不到它。 答案 0 :(得分:1)
在Dart中,您可以在factory
类上使用具体的abstract
构造函数,然后转发到另一个类。尽管构造函数是针对抽象类调用的,但您获得的实例是具体的子类型。
abstract class Foo {
factory Foo() = Bar;
}
class Bar implements Foo {}
void main() {
print(Foo().runtimeType); // "Bar"
}
答案 1 :(得分:0)
{
"url": "http://localhost:8000/foods/1/",
"food_name": "Pizza",
"country_of_origin": "Italy"
}
工厂构造函数返回external factory HashMap(
{bool equals(K key1, K key2),
int hashCode(K key),
bool isValidKey(potentialKey)});
的实例。
_HashMap
结果:
import 'dart:collection';
void main() {
var hashMap = HashMap();
print(hashMap.runtimeType);
}
这意味着_HashMap<dynamic, dynamic>
实现(或扩展)_HashMap
。