这个问题不太可能帮助任何未来的游客;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况有关,而这些情况通常不适用于互联网的全球受众。有关使此问题更广泛适用的帮助,请访问帮助中心。
8年前关门了。
我想把一个 int
变成一个 String
这样我就可以把 String
值转换为sqlite游标。我尝试过多种语法和方法,但似乎都不适合我。
错误发生在 MangaItemDB()
在试图转换任何 Int
类型以及 boolean
.
我看过几篇像这样的文章,但没有一篇适合我。
这是我的密码:
public class MangaItem {
private int _id;
private String mangaName;
private String mangaLink;
private static String mangaAlpha;
private static int mangaCount;
private static int alphaCount;
private boolean mangaComplete = false;
public MangaItem MangaItemDB(int id, String mangaName, String mangaLink, String mangaAlpha, String mangaCount, String alphaCount, String mangaComplete) {
MangaItem MangaItemDB = new MangaItem();
MangaItemDB._id = id;
MangaItemDB.mangaName = mangaName;
MangaItemDB.mangaLink = mangaLink;
MangaItemDB.mangaAlpha = mangaAlpha;
MangaItemDB.mangaCount = String.valueOf(int mangaCount);
MangaItemDB.alphaCount = Integer.toString(getAlphaCount());
MangaItemDB.mangaComplete = String.valueOf(getMangaComplete());
return MangaItemDB;
}
public void incrementMangaCount() {
mangaCount++;
}
public int getMangaCount() {
return mangaCount;
}
public void incrementAlphaCount() {
alphaCount++;
}
public int getAlphaCount() {
return alphaCount;
}
public boolean setMangaComplete(boolean mangaComplete) {
return true;
}
public boolean getMangaComplete() {
return mangaComplete;
}
/**
* @return the mangaName
*/
public String getMangaName() {
return mangaName;
}
/**
* @param mangaName the mangaName to set
*/
public void setMangaName(String mangaName) {
this.mangaName = mangaName;
}
/**
* @return the mangaLink
*/
public String getMangaLink() {
return mangaLink;
}
/**
* @param mangaLink the mangaLink to set
*/
public void setMangaLink(String mangaLink) {
this.mangaLink = mangaLink;
}
/**
* @return the mangaAlpha
*/
public String getMangaAlpha() {
return mangaAlpha;
}
/**
* @param mangaAlpha the mangaAlpha to set
*/
public void setMangaAlpha(String mangaAlpha) {
this.mangaAlpha = mangaAlpha;
}
/**
* @return the _id
*/
public int get_id() {
return _id;
}
/**
* @param _id the _id to set
*/
public void set_id(int _id) {
this._id = _id;
}
}
线路:
MangaItemDB.mangaCount = String.valueOf(mangaCount);
MangaItemDB.alphaCount = Integer.toString(getAlphaCount());
MangaItemDB.mangaComplete = String.valueOf(getMangaComplete());
all give“类型不匹配:无法从字符串转换为int”
3条答案
按热度按时间3z6pesqy1#
那些代码甚至不应该编译。调用方法时不应传递参数类型,而在调用方法时只需传入参数:
请张贴所有的编译错误,如果你有,所以我们不必猜测他们。
编辑
您声明:
all give“类型不匹配:无法从字符串转换为int”
这表明您正在尝试将字符串赋给int变量,因此似乎不需要将结果转换为字符串。为什么不简单地把整数赋给整数,把布尔赋给布尔呢?
还有,为什么要使用静态变量?这样做的理由是什么?有时您需要使用静态变量,但大多数情况下,您的变量应该是示例变量。
cunj1qz12#
参见上面的代码,非常糟糕的做法。您应该使用getter和setter方法,如:
trnvg8h33#
因为mangacount和alpha count是静态的,所以您不希望在非静态上下文中设置它们—实际上您什么都不做。如果您想让mangaitem保存这些值,那么可以制作mangacount和alphacount的非静态版本。
mangacomplete()返回一个布尔值,因此不需要解析它。
静态变量和方法对于类来说只有一种,而非静态变量和方法是特定于类的-它们只能从对象本身使用。似乎set和get mangacount+alphacount应该是静态的。