【问题标题】:Create method similar to the .css() function of JQuery创建方法类似于 JQuery 的 .css() 函数
【发布时间】:2012-07-09 01:33:09
【问题描述】:

是否可以创建类似于 jQuery 中的.css() 函数的方法?

jQuery 中的示例:

$("#elemid").css("position","absolute");
$("#elemid").css({position:"absolute",left:45});

我希望它在 JAVA 中看起来几乎一样

JAVA 中的示例

Rectangle rect=new Rectangle();
rect.style("position","absolute");
rect.style({position:"absolute",left:45});

【问题讨论】:

  • 目前还没有,但我认为这可以通过枚举实现

标签: java jquery function methods


【解决方案1】:

您可以自己做一些与创建 DSL 类似的事情。 DSL 库的一个例子是JooQ,一个用于 SQL 的 java DSL。

不过,这需要一些工作:P

【讨论】:

  • 在 Java 中为类似的东西创建 DSL 并不值得付出努力。另一方面,Ruby...
  • 没错,但不幸的是他想用Java来做:/
【解决方案2】:

JQuery 函数的基本思想是它们返回一个新的(或相同的)对象,以便您可能调用另一个方法。它在 .NET Framework 的 System.Linq 命名空间中实现了类似的方法。尽管它使用了扩展方法,但这些只是为现有类定义附加方法的一种方式。一个例子:

foreach (var i in list.Skip(4).TakeWhile(x => x > 0).Select(x => x*x))
{
    Console.WriteLine(i);
}

这会跳过列表的前四个元素,然后遍历剩余的元素,直到它到达列表的末尾或不大于零的元素。迭代的每个元素都被平方,然后由迭代器返回以写入控制台。

因此,如果您在 Java 中创建自己的类,只需让方法返回一个对象即可调用其他方法。 StringBuilder/StringBuffer 类已经通过它们的 Append 方法通过简单地返回 this 来做到这一点。

【讨论】:

  • 如何在 java.Hoe 中使用这个方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
  • 2013-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多