我有一个关于this.声明的问题.假设我在这里有这个代码(非常愚蠢和无用,但得到消息):
class Calculate{
int x,y;
final int g = 5;
//Constructor
public Calculate(int a, int b) {
x = a; y = b;
}
public int sumAddG() {
return (x+y+g);
}
//comparing method
public boolean same(Calculate in) {
if(this.sumAddG() == in.sumAddG()) { // <-- This is what I am curious about
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我有这个代码吗?当我使用this.SumAddG()-难道我指的是使用方法SumAddG()的结果实例变量的this类的实例?
Sup人,我有一个简单但有问题的问题.据我所知,static基本上意味着,对于该类的每个单个实例,此方法将是相同的,如果我们更改它,这将为该类的每个单个实例更改,它也称为类方法.好吧,如果我有一个实现toString ()某种格式的方法的类,那么让我们说:
public String toString() {
return "(" + x + "," + y + ")";
}
Run Code Online (Sandbox Code Playgroud)
为什么不能将其设置为静态?由于这种格式对于该类的每个实例都是相同的......?
(第一篇文章不要欺负我:D)
我的问题很简单,包含在接口HAS中的方法是否必须返回一些值?(int,double,String等..)因为上次我检查过我无法在接口中定义Void方法,得到了编译错误.
提前致谢!干杯!
我有这个问题,我无法弄清楚.我有这个练习:
完成以下通用Pair类,以便程序的执行给出指示的输出.不要改变主要.
class Pair ... { ... }
class GenericPairTest {
public static void main(String[] args) {
Pair<String,Integer> phoneNumber = new Pair<>("Bill's number", 1324);
System.out.println(phoneNumber);
Pair<Double,Double> point = new Pair<>(3.14, 2.32);
System.out.println(point);
}
}
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
比尔的号码是1324
3.14 2.32`
我试过这样做:
import java.util.*;
class Pair <T,U> {
ArrayList<T,U> newList = new ArrayList<>();
Pair(T inT, U inU){
newList.add(inT,inU);
}
}
class GenericPairTest {
public static void main(String[] args) {
Pair<String,Integer> phoneNumber =
new Pair<>("Bill's number", 1324);
System.out.println(phoneNumber);
Pair<Double,Double> point =
new Pair<>(3.14, 2.32); …Run Code Online (Sandbox Code Playgroud) 我无法掌握整个泛型声明,即使在阅读了关于Java的书籍中的无数文章和条目之后,它们似乎都没有以简单明了的方式解释它.请任何人解释我的那些?:
class Something<T> {...}
Run Code Online (Sandbox Code Playgroud)
我知道T是什么,并且我理解当我们想要为我们传入的任何类型的Object类型编写通用定义/方法时,我们使用泛型,而是具有特定于一种类型的Object扩展的不同类型的方法,我们写一个可以包括一种或多种类型的通用的(因此大写字母T).但是最让我烦恼的是下一个声明示例:
public <T extends Comparable<T>> void Something{...}
Run Code Online (Sandbox Code Playgroud)
首先; 可比较是一个接口而不是一个类(如果我错了,请纠正我)所以第一个为什么它extends不是implements.现在,为什么它必须被宣布(这整个<T ...>之前的东西)void现在和现在Comparable<T>?那是什么意思?进入的Object类型必须具有implements Comparable<T>?因此,如果我想作为类型参数传递类class Something{...}我将得到一个错误,但传递class Something implements Comparable<T>{...}会没事?请揭开我的神秘面纱:(明天我有一个考试,我不能抓住其他东西而不抓住这一个...... :(
我试图找出除了使用之外的另一种方法String.valueOf(),然后使用Integer.parseInt()将数字数组转换为一个类型long数字,而不是添加值,就像追加一个字符串一样.
示例:假设您有
ArrayList<Integer>5个元素,数字为(e =元素) - >e0(1),e1(4),e2(3),e3(6),e4(7)
所以我想把它变成一个类型long号 - > 14367.
我需要这个在java中找到一个所谓的神奇数字.我要使用列表,并打印一个神奇的数字.(还有关于这个神奇数字的任何提示?)
java ×6
arraylist ×2
generics ×2
append ×1
class ×1
declaration ×1
interface ×1
return-type ×1
return-value ×1
static ×1
this ×1