我想知道是否使用默认参数。 像这样:
private fun createVideo(path: Url = DEFAULT_PATH, width: Int = 0, height: Int = 0) {
if (path is default value) {
// it means caller didn't set path
return AVideo()
else {
return BVideo()
}
}
我正在通过效率低下的函数重载来处理此问题。
编辑: 这是我的真实代码
private fun createMediaItemMock(mediaType: Int,
width: Int = WIDTH_2K,
height: Int = HEIGHT_2K,
trimmingDataCan: Boolean) = mock<PickerMediaItem> {
on { it.mediaType } doReturn mediaType
it.width = width
it.height = height
it.trimmingData = mock {
on { can() } doReturn trimmingDataCan
}
}
private fun createMediaItemMock(mediaType: Int,
width: Int = WIDTH_2K,
height: Int = HEIGHT_2K) = mock<PickerMediaItem> {
on { it.mediaType } doReturn mediaType
it.width = width
it.height = height
}
答案 0 :(得分:0)
您可以只检查path.equals(DEFAULT_PATH)
。另外,如果您是return AVideo()
或return BVideo()
private fun createVideo(path: Url = DEFAULT_PATH, width: Int = 0, height: Int = 0): ReturnVideoType {
if (path is default value) {
// it means caller didn't set path
return AVideo()
else {
return BVideo()
}
}