mediaName = arguments?.getString(KEY_NAME) ?: ""
时间: 2024-05-21 22:14:17 浏览: 120
这行代码是 Kotlin 语言中的空安全操作符,意思是如果 `arguments` 不为 null,则获取名为 `KEY_NAME` 的字符串值并将其赋值给 `mediaName` 变量,否则将空字符串赋值给 `mediaName` 变量。这里使用了 Elvis 运算符 `?:`,它的作用是在 `arguments?.getString(KEY_NAME)` 表达式返回 null 的情况下,返回空字符串。
相关问题
解释代码:@Test public void insertTest(){ MediaInfoDO mediaInfoDO=new MediaInfoDO(); mediaInfoDO.setMediaName("aaa"); mediaInfoDO.setMediaCategory(1); mediaInfoDO.setMediaGrade(String.valueOf(2)); mediaInfoDO.setCreateTime(new Date()); mediaInfoDO.setMediaUrl("www"); mediaInfoMapper.insert(mediaInfoDO); }
这段代码是一个 JUnit 测试方法,用于向数据库表中插入一条新的媒体信息记录。具体解释如下:
1. `@Test`:这是一个 JUnit 测试方法的注解,表示该方法是一个可运行的测试方法。
2. `public void insertTest()`:这是一个公共的方法,没有返回值,方法名称为 `insertTest`。
3. `MediaInfoDO mediaInfoDO = new MediaInfoDO();`:创建一个 `MediaInfoDO` 对象,用于存储要插入到数据库表中的媒体信息。
4. `mediaInfoDO.setMediaName("aaa");`:设置 `mediaInfoDO` 对象的 `mediaName` 属性值为 "aaa"。
5. `mediaInfoDO.setMediaCategory(1);`:设置 `mediaInfoDO` 对象的 `mediaCategory` 属性值为 1。
6. `mediaInfoDO.setMediaGrade(String.valueOf(2));`:设置 `mediaInfoDO` 对象的 `mediaGrade` 属性值为 "2"。
7. `mediaInfoDO.setCreateTime(new Date());`:设置 `mediaInfoDO` 对象的 `createTime` 属性值为当前时间。
8. `mediaInfoDO.setMediaUrl("www");`:设置 `mediaInfoDO` 对象的 `mediaUrl` 属性值为 "www"。
9. `mediaInfoMapper.insert(mediaInfoDO);`:调用 `mediaInfoMapper` 对象的 `insert` 方法,将 `mediaInfoDO` 对象插入到数据库表中。`mediaInfoMapper` 对象是一个 MyBatis 的 Mapper 接口,它的实现类是由 MyBatis 自动生成的。
这段代码的作用是向数据库表中插入一条新的媒体信息记录,其中媒体名称为 "aaa",媒体分类为 1,媒体评分为 2,创建时间为当前时间,媒体链接为 "www"。
使用java设计一个MyMedia(String mediaName, float price, String press, String artist)类,其中包含MyBook(String bookISBN,String editor)、MyCd(String cdISRC)及MyTape(String tapeISRC)三个子类。按照类的设计模式,完成他们的插入、删除、查找以及查找全部的功能。MyMedia类中有并且还拥有一个interfaceMedias接口和一个MediaTest测试类,interfaceMedias接口的方法有public int addMedia(Vector medias,MyMedia tempMedia); public int deleteMedia(Vector medias); public MyMedia findMedia(Vector medias,String artist); public void printlnMedia(Vector medias); public String input(); 并且MediaTest测试类实现了interfaceMedias接口
好的,我理解了你的问题。你需要我帮你设计一个MyMedia类,包含三个子类MyBook、MyCd和MyTape,并且还需要一个interfaceMedias接口和一个MediaTest测试类,实现插入、删除、查找和查找全部的功能。
首先,我们可以定义一个MyMedia类,其中包含媒体名称、价格、出版社和艺术家等属性。代码如下:
```
public class MyMedia {
private String mediaName;
private float price;
private String press;
private String artist;
public MyMedia(String mediaName, float price, String press, String artist) {
this.mediaName = mediaName;
this.price = price;
this.press = press;
this.artist = artist;
}
public String getMediaName() {
return mediaName;
}
public void setMediaName(String mediaName) {
this.mediaName = mediaName;
}
public float getPrice() {
return price;
}
public void setPrice(float price) {
this.price = price;
}
public String getPress() {
return press;
}
public void setPress(String press) {
this.press = press;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
}
```
然后,我们可以定义三个子类MyBook、MyCd和MyTape,分别继承自MyMedia类,并增加自己的属性。代码如下:
```
public class MyBook extends MyMedia {
private String bookISBN;
private String editor;
public MyBook(String mediaName, float price, String press, String artist, String bookISBN, String editor) {
super(mediaName, price, press, artist);
this.bookISBN = bookISBN;
this.editor = editor;
}
public String getBookISBN() {
return bookISBN;
}
public void setBookISBN(String bookISBN) {
this.bookISBN = bookISBN;
}
public String getEditor() {
return editor;
}
public void setEditor(String editor) {
this.editor = editor;
}
}
public class MyCd extends MyMedia {
private String cdISRC;
public MyCd(String mediaName, float price, String press, String artist, String cdISRC) {
super(mediaName, price, press, artist);
this.cdISRC = cdISRC;
}
public String getCdISRC() {
return cdISRC;
}
public void setCdISRC(String cdISRC) {
this.cdISRC = cdISRC;
}
}
public class MyTape extends MyMedia {
private String tapeISRC;
public MyTape(String mediaName, float price, String press, String artist, String tapeISRC) {
super(mediaName, price, press, artist);
this.tapeISRC = tapeISRC;
}
public String getTapeISRC() {
return tapeISRC;
}
public void setTapeISRC(String tapeISRC) {
this.tapeISRC = tapeISRC;
}
}
```
接着,我们定义一个interfaceMedias接口,并在其中添加插入、删除、查找和查找全部的方法。代码如下:
```
import java.util.Vector;
public interface interfaceMedias {
public int addMedia(Vector medias, MyMedia tempMedia);
public int deleteMedia(Vector medias);
public MyMedia findMedia(Vector medias, String artist);
public void printlnMedia(Vector medias);
public String input();
}
```
最后,我们定义一个MediaTest测试类,实现interfaceMedias接口,并在其中实现插入、删除、查找和查找全部的功能。代码如下:
```
import java.util.*;
public class MediaTest implements interfaceMedias {
public int addMedia(Vector medias, MyMedia tempMedia) {
medias.add(tempMedia);
return 1;
}
public int deleteMedia(Vector medias) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入要删除的媒体名称:");
String mediaName = scan.nextLine();
for (int i = 0; i < medias.size(); i++) {
MyMedia media = (MyMedia) medias.get(i);
if (media.getMediaName().equals(mediaName)) {
medias.remove(i);
return 1;
}
}
return 0;
}
public MyMedia findMedia(Vector medias, String artist) {
for (int i = 0; i < medias.size(); i++) {
MyMedia media = (MyMedia) medias.get(i);
if (media.getArtist().equals(artist)) {
return media;
}
}
return null;
}
public void printlnMedia(Vector medias) {
for (int i = 0; i < medias.size(); i++) {
MyMedia media = (MyMedia) medias.get(i);
System.out.println("媒体名称:" + media.getMediaName() + ",价格:" + media.getPrice() + ",出版社:" + media.getPress() + ",艺术家:" + media.getArtist());
}
}
public String input() {
Scanner scan = new Scanner(System.in);
System.out.println("请输入媒体名称:");
String mediaName = scan.nextLine();
System.out.println("请输入价格:");
float price = scan.nextFloat();
scan.nextLine();
System.out.println("请输入出版社:");
String press = scan.nextLine();
System.out.println("请输入艺术家:");
String artist = scan.nextLine();
return mediaName + "," + price + "," + press + "," + artist;
}
public static void main(String[] args) {
Vector medias = new Vector();
MediaTest test = new MediaTest();
int choice;
while (true) {
System.out.println("请选择要进行的操作:");
System.out.println("1、插入媒体");
System.out.println("2、删除媒体");
System.out.println("3、查找媒体");
System.out.println("4、查找全部媒体");
System.out.println("5、退出");
Scanner scan = new Scanner(System.in);
choice = scan.nextInt();
scan.nextLine();
if (choice == 1) {
String inputStr = test.input();
String[] temp = inputStr.split(",");
MyMedia tempMedia = new MyMedia(temp[0], Float.parseFloat(temp[1]), temp[2], temp[3]);
test.addMedia(medias, tempMedia);
} else if (choice == 2) {
test.deleteMedia(medias);
} else if (choice == 3) {
System.out.println("请输入要查找的艺术家:");
String artist = scan.nextLine();
MyMedia media = test.findMedia(medias, artist);
if (media == null) {
System.out.println("未找到该艺术家的媒体!");
} else {
System.out.println("已找到该艺术家的媒体,媒体名称:" + media.getMediaName() + ",价格:" + media.getPrice() + ",出版社:" + media.getPress() + ",艺术家:" + media.getArtist());
}
} else if (choice == 4) {
test.printlnMedia(medias);
} else if (choice == 5) {
break;
} else {
System.out.println("输入错误,请重新输入!");
}
}
}
}
```
以上就是完整的代码实现。你可以根据自己的需要进行调整和修改。
阅读全文