在Kotlin试用资源

当我试图在Kotlin上写一个类似try-with-resources的代码时,它并不适合我。 我尝试了以下的不同变化: try (writer = OutputStreamWriter(r.getOutputStream())) { // … } 但是都没有用。 有谁知道应该用什么来代替? 显然Kotlin语法没有这样的构造的定义 ,但可能是我失去了一些东西。 它为try块定义语法如下: try : "try" block catchBlock* finallyBlock?;

登录Kotlin的习惯性的方式

Kotlin没有Java中使用的静态字段的相同概念。 在Java中,一般公认的记录方式是: public class Foo { private static final Logger LOG = LoggerFactory.getLogger(Foo.class); } 问题是在Kotlin中执行日志记录的惯用方法是什么?

Kotlin-android:未解决的引用数据绑定

我有以下使用新的数据绑定库Java编写的片段类 import com.example.app.databinding.FragmentDataBdinding; public class DataFragment extends Fragment { @Nullable private FragmentDataBinding mBinding; @Nullable @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_data, container, false); return mBinding.getRoot(); } } 它编译和运行良好。 我试图在Kotlin中重写它,并提出如下: import com.example.app.databinding.FragmentDataBdinding class ProfileFragment : Fragment() { private var mBinding: FragmentDataBinding? = null override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, […]

使用kotlin-stdlib 1.1.51,但加载了kotlin-runtime 1.3

我使用kotlin-1.1.51和gradle,但加载了kotlin-runtime-1.1.3 环境: Windows10 IntelliJ IDEA Ultimate 2017.2.5 的build.gradle 依赖

在kotlin中片段实例化

我是新的kotlin,我想在kotlin中创建下面的代码: Fragment fragment = null; switch(id) { case R.id.nav_new: fragment = new FragAllPosts(); break; case R.id.nav_about: fragment = new FragAuthors(); break; case R.id.nav_tags: fragment = new FragTags(); break; } if (fragment != null) { FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, fragment); ft.commit(); } 碎片是非常基本的,不包含任何参数。 我怎样才能达到上述kotlin? 谢谢!

为什么Kotlin在Kotlin类文件中保存MetaData?

我们将Java文件转换为Kotlin文件,然后编译为类文件。 生成的类比原始的Java类文件大。 在Kotlin类文件中,我们在每个类中找到元数据。 为什么Kotlin存储这个元数据?