0

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

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});
4

2 回答 2

0

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

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

于 2012-07-09T16:01:37.857 回答
0

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

于 2012-07-09T16:04:43.920 回答