gpt4 book ai didi

java - 如何在 kotlin 的成员函数中调用构造函数?

转载 作者:行者123 更新时间:2023-12-01 19:28:06 25 4
gpt4 key购买 nike

根据 Microsoft 文档,我想将以下代码从 Java 转换为 Kotlin。然而,Kotlin 有 init 和构造函数,我不太确定如何在代码中实现它。这是因为我需要在其成员函数之一中调用构造函数类。

public class AzureServiceAdapter {
private String mMobileBackendUrl = "https://myappname.azurewebsites.net";
private Context mContext;
private MobileServiceClient mClient;
private static AzureServiceAdapter mInstance = null;

private AzureServiceAdapter(Context context) {
mContext = context;
mClient = new MobileServiceClient(mMobileBackendUrl, mContext);
}

public static void Initialize(Context context) {
if (mInstance == null) {
mInstance = new AzureServiceAdapter(context);
} else {
throw new IllegalStateException("AzureServiceAdapter is already initialized");
}
}

上面的代码是来自微软的Android Java代码。

引用下面的代码,我试图将java代码转换为kotlin。然而,当我尝试将 init 和 constructor 添加到我的 kotlin 代码中时,我意识到我会在 mInstance!!.AzureServiceAdapter(context) ?: throw IllegalStateException 处收到错误(“AzureServiceAdapter 已初始化”)

class AzureServiceAdapter{
private val mMobileBackendUrl = "https://test123.azurewebsites.net"
private lateinit var mContext: Context
private lateinit var azureClient: MobileServiceClient
var mInstance : AzureServiceAdapter? = null


private fun AzureServiceAdapter(context: Context){
mContext = context
azureClient = MobileServiceClient(mMobileBackendUrl, mContext)
}


fun initialize(context: Context) {
mInstance!!.AzureServiceAdapter(context) ?: throw IllegalStateException("AzureServiceAdapter is already initialised")
}

}

那么,有没有一种方法可以将Java代码以专业的结构转换为kotlin呢?

最佳答案

for Convert java file to kotlin

打开 Android Studio->打开您的项目->选择您的 java 文件,然后进入导航栏->代码 -> 将java文件转换为kotlin文件

For this make sure your project is integrate with kotlin plugins

关于java - 如何在 kotlin 的成员函数中调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60807344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com