我在Java中有一个模型类,我把它转换成了kotlin中的数据类
public class VideoAssets implements Serializable {
@SerializedName("type")
@Expose
String type;
@SerializedName("mpeg")
@Expose
List<Mpeg> mpeg = null;
@SerializedName("hls")
@Expose
String hls;
@SerializedName("widevine")
@Expose
WideVine wideVine;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<Mpeg> getMpeg() {
return mpeg;
}
public void setMpeg(List<Mpeg> mpeg) {
this.mpeg = mpeg;
}
public String getHls() {
hls = Macros.INSTANCE.replaceURl(hls);
return hls;
}
public void setHls(String hls) {
this.hls = hls;
}
public WideVine getWideVine() {
return wideVine;
}
public void setWideVine(WideVine wideVine) {
this.wideVine = wideVine;
}
}
正如您所看到的,我希望在检索变量hls
时更改它的值。
data class VideoAssets(@SerializedName("mpeg") @Expose
var mpeg: List<Mpeg> = emptyList(),
@SerializedName("hls")
@Expose
var hls: String,
@SerializedName("widevine")
@Expose
val wideVine: WideVine? = null) : Serializable
class VideoAssets(@SerializedName("mpeg") @Expose
var mpeg: List<Mpeg> = emptyList(),
@SerializedName("hls")
@Expose
val hlsUrl: String? = null,
@SerializedName("widevine")
@Expose
val wideVine: WideVine? = null) : Serializable {
val hls: String? = hlsUrl
get() = field?.let { Macros.replaceURl(it) }
}
当服务器试图检索videoassets.gethls()
时,它返回null,而它应该返回新值。对象videoassets.gethlsurl()
具有值,但'videoassets.gethls()'始终为null。
有人能指出我缺少什么吗?
以下是您的代码:
val hls: String? = hlsUrl
get() = field?.let { Macros.replaceURl(it) }
因此,它所做的是创建一个名为hls
的属性,并为其提供一个名为field
的支持字段(一个变量)。它最初将其设置为传递给构造函数的hlsurl
的任何值(可能为null)。
getter代码接受字段
的值,如果该值不为null,则调用replaceurl
函数并返回结果,否则返回null。
这是关于属性的Kotlin页面,如果你还没有看到它!
问题内容: 我有一个index.php,它处理所有路由index.php?page = controller(简体)只是为了与视图分离逻辑。 我无法与Rewriterule一起使用。 控制器可能如下所示: 并且: 问题答案: 基本上人们想说的是,您可以像这样编写重写规则: 这将使您的实际php文件如下所示: 您的实际网址如下所示: 在您的PHP文件中,您可以通过如下分解方式来访问参数:
所以我有一个类类型的列表。例如,我有一个教室和一个学生班。 我创建了一个学生列表:
问题内容: 我有以下类别,将其用作项目中所有模型的基础: 然后,我尝试通过以下方式对其进行扩展: 但是,如果我尝试执行以下操作: 然后,而不是查询:,它生成查询:“从空WHERE id =?中选择SELECT ID”。因此,覆盖类中的字段似乎没有任何效果。 我该如何克服呢?如果我在BaseModel中添加了一个方法,并在的构造函数中对其进行了调用,那么该类的所有方法都可以使用的新值吗? 问题答案:
假设一个抽象超类包含一个名为price of type double的私有变量。 现在假设变量已声明但未初始化。超类包含访问器方法,但是setter方法是抽象的,因此必须在子类中重写它,但是,由于超变量是私有的,有没有办法从子类初始化此变量? 考虑下面的例子:我有4节课;书籍(抽象超级)、非小说类(sub)、小说类(sub)、测试者(测试发生了什么的类)。 图书类: 小说课 非小说类 公共类非小说
我正在Java学习重写成员函数,并考虑过尝试重写成员变量。 所以,我给类下了定义 输出为: 我不明白为什么当aRef设置为b时,intVal仍然是A类?
因此,我试图用Kotlin开发一个Android应用程序,作为纸笔RPG伴侣。现在我想创造一个暴民阶层 在另一个活动中,我想显示以下信息: Android studio不断告诉我不能访问“名称”:尽管它在“Mob”中是私有的。我以为这就是我得到< code>get()的原因? 也许有更多静态编程语言经验的人可以帮忙。提前谢谢你。