gpt4 book ai didi

javascript - 为什么 JsArrayString 不实现可迭代?

转载 作者:行者123 更新时间:2023-11-29 18:34:55 25 4
gpt4 key购买 nike

这里有一个简单的问题——我刚刚第一次使用 JsArrayString,很惊讶这不起作用:

JsArrayString object = ...;
for (String s : object)

所以我只是写了一个 C 风格的 for 循环:

JsArrayString object = ...;
for (int i=0; i<object.length(); i++) {
s = object.get(i)
...

没什么大不了的,但对于 GWT 团队来说,让 JSArrayString 实现可迭代似乎很简单,所以我想检查并确保我没有遗漏任何东西......

最佳答案

我怀疑这是代码膨胀和代码大小的问题。如果他们让 JsArray 实现 Iterable,它可能会为其他并不总是有用的添加打开大门。 JsArray 旨在尽可能简单和准系统。

此外,如果您想要这种行为,您可以编写自己的 JsIterable 类来执行此操作,正如您所说,实现起来应该非常简单。

Lightweight Collections设计文档解决了一些围绕使用 JRE 集合和相关概念的问题,并讨论了可以不支持哪些功能以确保绝对最小代码大小,包括:

Until the GWT compiler can optimize it (which it cannot to date), the new collections will not support the Java enhanced 'for' loop syntax that uses Iterable/Iterator. We do believe such optimizations are possible and will be added, however, at which time, these collections will be retrofitted to implement Iterable.

关于javascript - 为什么 JsArrayString 不实现可迭代?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4187337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com