I'm trying to compile a java program with GWT, but the program use several APIs that are not supported by GWT. What are the equivalents of these in GWT?
index(D:D,IFERROR(MATCH(1,(A2=A:A)*(MAX(IF(A:A=A2,B:B))=B:B)*(C2=C:C),0),ROW()),1)
答案 0 :(得分:7)
这很难很好地模仿,至少有两个原因,规格要求100纳秒(浏览器只能达到毫秒,而且这很粗糙以避免一些攻击),并且“节点”的要求不会在浏览器中真的有意义。仿真确实存在,但是知道您希望使用的代码需要UUID会让我想要在选择之前理解权衡,以确保您不会导致以后的问题。
gwt文档实际上将UUID称为一个类,您可能希望为http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html添加自己的模拟。它并不是非常简单,但也不是很难,只需要做一些工作就可以正确设置。
一方面,我知道没有对此进行仿真,但另一方面它写起来并不是很难 - 大多数传入的字符串需要委托给一些底层的Writer,这也不是效仿。我认为这是用于记录某种类型的?可能只是非常粗略地模仿它并将其丢弃(如现有GWT中的PrintStream),或者解释一下,看看它是否不能用于你需要的目的。
GWT将Java编译为JS,而JS本质上是单线程的,因此这些类在GWT中没有多大意义。也就是说,Guava-GWT项目提供了其中几个的仿真,如果你遗漏了任何东西,它们很容易编写剩下的东西。
我之前没有看过这个模拟,但是如上所述,编写自己的模拟非常简单 - 只需将其视为对象的包装器,因为浏览器只有一个线程。
这是JS的一个问题 - 运行时根本不支持这个概念。即使是具有WeakMap和WeakSet的现代JS也无法解决这个问题,它们是我们在Java中习惯的非常简单的概念版本。根据我对浏览器的了解,这是您目前列表中唯一无法使用的项目。
虽然这是一个很大的课程,但根据您下一步要做的事情,模仿这一点应该是合理的 - 例如,toURL()
然后openConnection()
不起作用,但如果你只是将它用作URL对象的简单构建器,它看起来很像浏览器https://developer.mozilla.org/en-US/docs/Web/API/URL中的(相对较新的)URL对象。