这是我的代码:
public class MessagePrettier<T> {
private final T uglyMessage;
public MessagePrettier(T uglyMessage) {
this.uglyMessage = uglyMessage;
}
public List<String> stringList() {
List<String> strings = new ArrayList<String>();
strings.add("Pretty version of: " + uglyMessage.toString());
return strings;
}
public static void main(String[] args) {
MessagePrettier<Integer> p = new MessagePrettier<Integer>(new Integer("25"));
List list = p.stringList();
for (String s : list) {
System.out.println(s);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我编译这段代码时,我会得到:
java: incompatible types
required: java.lang.String
found: java.lang.Object
Run Code Online (Sandbox Code Playgroud)
那么stringList()返回一个字符串列表,为什么编译器期望对象?
这是我的HTML页面:
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<script src="http://tablesorter.com/jquery-latest.js" type="text/javascript"/>
<script src="http://tablesorter.com/jquery.tablesorter.js" type="text/javascript"/>
<script type="text/javascript">$(document).ready(function () {
$("#myTable").tablesorter({sortList: [[0, 0]]});
});
</script>
</head>
<body>
<h1>Repid Type Table</h1>
<table class="tablesorter" id="myTable">
<tr>
<th>PERNR</th>
<th>INNBOUND</th>
<th>FIRSTNAME</th>
<th>LASTNAME</th>
<th>CATSHOURS</th>
<th>DIFF</th>
</tr>
<tr>
<td>00017808</td>
<td>26.50</td>
<td>Roland</td>
<td>Block</td>
<td>1830.70</td>
<td>1804.20</td>
</tr>
<tr>
<td>123412</td>
<td>111.34</td>
<td>Koray</td>
<td>Tugay</td>
<td>945.56</td>
<td>234.43</td>
</tr>
</table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但我看到的表似乎根本不起作用.我错过了什么?
这是我的代码:
int main()
{
int *p;
void *x;
printf("%p\n", p);
printf("%p\n", x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
将打印:
koraytugay $ ./a.out
0x7fff53b35ad0
0x0
koraytugay $ ./a.out
0x7fff5803fad0
0x0
koraytugay $ ./a.out
0x7fff512c9ad0
0x0
koraytugay $ ./a.out
0x7fff55213ad0
0x0
koraytugay $ ./a.out
0x7fff52dbdad0
0x0
这种行为在语言中有什么解释吗?
我有以下代码:
int main(){
char readChars[3];
puts("Enter the value of the card please:");
scanf(readChars);
printf(readChars);
printf("done");
}
Run Code Online (Sandbox Code Playgroud)
我只看到:"完成"后我输入一些值给终端并按Enter键,为什么?
编辑:
不是scanf的原型:
int scanf(const char *format, ...);
Run Code Online (Sandbox Code Playgroud)
所以我应该只用一个参数就可以使用它?