sre*_* cr 7 java android kotlin android-studio
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
Test().list.contains(1)
}
}
public class Test {
ArrayList<Integer> list;
public ArrayList<Integer> getList() {
return list;
}
}
Run Code Online (Sandbox Code Playgroud)
编译失败Test().list.contains(1)并显示消息:
任务 :app:compileDebugKotlin FAILED e: /Users/sreejithcr/Documents/MyApplication/app/src/main/java/com/wxample/myapplication/MainActivity.kt: (13, 31): 重载解析歧义: public open fun contains( @Nullable 元素: Int!): Boolean 定义在 java.util.ArrayList public open fun contains(@Nullable element: Int!): Boolean 定义在 java.util.ArrayList
我的理解是编译器发现 2 个 contains() 具有完全相同的签名,但不确定要调用哪个。
梯度配置:
ext.kotlin_version = '1.3.41'
类路径 'com.android.tools.build:gradle:3.4.2'
Lec*_*agy -2
当我阅读你的代码时,我注意到一些冲突:
首先,Test 需要一个公共构造函数,它创建 ArrayList 等。喜欢:
public Test(){
list = new ArrayList<>();
}
其次,将变量列表设置为私有,只能通过 getter/setter 授予访问权限。第三,在 onCreate() 方法中尝试:
new Test().getList().contains(1);
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |