Tag: 方法

新条件的修改方法

我有下一个方法: fun getTimeFromLastPinInput(): Long { return DateTime.now().millis – PreferenceRepository.getLastPinInputTime() } 我想添加下一个条件: if (DateTime.now().millis >= PreferenceRepository.getLastPinInputTime()) 我如何修改我的方法是正确的?

计算只读属性与Swift中的函数

在Swift简介会上,演示了一个只读的属性description : class Vehicle { var numberOfWheels = 0 var description: String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description) 是否有任何意义,而不是使用一种方法来选择上述方法: class Vehicle { var numberOfWheels = 0 func description() -> String { return "\(numberOfWheels) wheels" } } let vehicle = Vehicle() println(vehicle.description()) 在我看来,你会选择一个只读计算属性的最明显的原因是: 语义 – 在这个例子中, description是类的一个属性,而不是它执行的动作。 简洁/清晰 – 防止在获取价值时使用空圆括号。 显然,上面的例子过于简单,但是还有其他很好的理由选择一个吗? […]

将匹配Java方法声明的正则表达式

我需要一个匹配java方法声明的正则表达式。 我想出了一个匹配方法声明的方法,但是它要求方法的左括号与声明位于同一行。 如果你有任何改善我的正则表达式的建议,或者只是有一个更好的,那么请提交一个答案。 这是我的正则表达式: "\w+ +\w+ *\(.*\) *\{" 对于那些不知道java方法是什么样子的人,我会提供一个基本的方法: int foo() { } Java方法有几个可选的部分,可以添加,但这些是一个方法保证唯一的部分。 更新:我目前的正则表达式是"\w+ +\w+ *\([^\)]*\) *\{"以防止Mike和adkom描述的情况。

Android / Java:有没有一种方法来存储一个方法?

所以我有一个循环类,基本上如下: public class Loop extends Thread { private boolean running; public Loop() { running = false; } public void run() { while(running) { //Do stuff } } public void setRunning(boolean b) { running = b; } } 我想知道的是,是否可以存储方法。 例如,类可以看起来像这样。 public class Loop extends Thread { private boolean running; private Method method; public Loop() { running […]

在Kotlin中调用Java静态方法的可能性

假设我们有一个Java静态方法: //Java code public static void printFoo() { System.out.println("foo"); } 在Kotlin中可以调用这个方法吗?

为什么这个Kotlin方法附加反引号?

以下代码段中使用的反引号是什么? 为什么添加他们的fun is(amount:Int ):Boolean { … } ? verifier.`is`(amount)

替代拳击字符串字段或扩展在Kotlin的所有字符串?

鉴于不能在Kotlin中继承内置类型,我正在寻找一种方法来将特殊方法功能添加到记录中特定类型的字符串字段 ,而不将这些扩展函数应用于所有字符串 (即使在该记录类型中)。 比如说,我在记录中有一些可变的字符串字段,为此我想定义特殊用途的行为。 class Customer { // … var zipcode: String var email: String // … } 对于zipcode ,假设我希望能够通过正则表达式来调用thisCustomer.zipcode.plusFour来获取邮政编码(99999-9999)的+4。 对于email ,假设我希望能够调用thisCustomer.email.domain使正则表达式得到指定电子邮件的@@ company.com部分。 我的目标是: 考虑到客户记录集的大小可能可能是数百万,所以避免将拳击zipcode的运行时间开销放入只有一个内部class Zipcode Zipcode中。 避免必须分配thisCustomer.zipcode.value = "99999-9999"或thisCustomer.zipcode = Zipcode("99999-9999")的语法,如果我最终不得不装箱的话。 避免添加一般的String.plusFour和String.domain扩展属性,即使在Customer类中也是如此……因为邮政编码和电子邮件在技术上可以互相呼叫对方的扩展 我一直在考虑这个问题,并考虑了下面的选项, 子类化字符串: 由于字符串(和所有内置函数)被关闭,所以不可能 将一个接口Zip应用到var声明( var zipcode: String, Zip ): 没有这样的语法,我可以找到 在getter本身中添加内部函数: 语法似乎不存在 使用对象或功能内功能: 想不到一个方法,这个工作,虽然我可能不足够的想象力 我错过了一个明显的解决办法吗? 即使不是很明显,用Kotlin的所有语法魔法,有没有办法让它发生? 也许有一种方法可以完成上述某些/所有的目标而不使用任何这些方法?

kotlin能在类init时定义动态方法吗?

我的课: class Demo { init { // define method here my some array:[a,b,c] // such as fun Demo.a,Demo.b… } } 函数名称是动态的。 Kotlin能做到这一点吗?

无法更新Kotlin方法参数的值

我遵循Kotlin方法 fun getpower(base:Int,power:Int):Int { var result = 1 while(power > 0){ result = result * base power– // <—- error in this line } return result } Kotlin编译器提供以下错误Error:(6, 8) Val cannot be reassigned 更新变量有什么问题?