释放kotlin中的变量

在kotlin中,为了编写测试,我在setUp阶段的每个测试之前创建了一个guice注入器,然后尝试在tearDown阶段释放它:

class MyTestClass { .... var injector: Injector? = null ... @Before fun setUp() { ... injector = Guice.createInjector(modules) ... } @After fun tearDown() { ... injector = null } @Test fun myFirstTest() { myInstance = injector?.getInstance(Key.get(MyClass::class.java)) // use myInstance here ... } ... } 

我的问题是,在Kotlin的土地上,这样的必要性是不是必需的? 如果有必要,最好的办法是什么?

不,这不是必要的,甚至不会被分配。 你正在做的是重新injector为null。 旧的价值依然悬在记忆里,没有参考。 当垃圾收集器认为合适时,内存将被清理。