Tag: 语法

语法<T在Java中扩展了Class >

关于以下内容,我有几点想法: public interface MaxStack<T extends Comparable > 1 – 为什么实现MaxStack的类应该像这样编写: public class MaxStackclass<T extends Comparable > implements MaxStack 而不是public class MaxStackclass<T extends Comparable > implements MaxStack<T extends Comparable > ? 2-为什么这个类的私有变量,当我使用generics时,应该只用编写而不用<T extnds Comparable> ? 例如, private List stack= new ArrayList(); 3 – <T extends Comparable>和之间有什么区别 – 如果我需要比较我class级中的bewteen元素,两者都可以,不是吗? 编辑:我认为3的问题是,它可能允许插入以第二种方式定义的列表,以便具有不同的元素,这些元素都可以从可比较的方面扩展,然后当我想比较它们时,它将不可能,因为我们无法将String与Integer进行比较,所以都从Comparable扩展。

java中的双{{}}语法问题

可能重复: Java“双支撑初始化”的效率? new Class(…){{…}}初始化习语的含义 假设我通过以下方式创建了一个JMenu Bar: JMenuItem saveMenuItem = new JMenuItem(“Save”) {{ addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String location = GUI.Custom.QuickDialogs.selectFile(false); try { PrintWriter pw = new PrintWriter(new File(location)); String text = textArea.getText(); pw.println(text); pw.flush(); pw.close(); } catch(Exception ex) { textArea.append(“Could not save this debug output”); } } }); }}; JMenu optionsMenu […]

java – 通用返回类型?

我不确定这在Java中是否可行。 此外,我无法弄清楚要在Google上查询的内容。 无论如何,我想要一个方法,将一个参数作为一个Class(接口或类),方法的返回类型是该类的一个实例。 我不想在事后重新制作一个Object。 我不确定这个function是否存在或语法是什么。 假设我有一个名为XYZ的类,这是我的伪方法。 private XYZ createInstance(XYZ.class, other args) { … // create an instance of XYZ with other args named “_xyz_” … return _xyz_; } 现在假设XYZ是某种通用语法。 这在Java中是否可行? 谢谢你的帮助。

转换循环(Java初学者问题)

循环之间的转换是否总是这样? 或者有一些情况不是吗? 当我在考试中解决这样的问题时,检查的最快方法是什么? For Loop: for(xx;yy;zz) { aa } 循环时: xx while(yy) { aa zz } 做同时: xx do { aa zz } while(yy)

有没有更好的方法来编写这个java代码? 还是让它更干净?

我将此代码编写为项目的一部分,这似乎并不是最有效的。 是否有更简洁的方法来编写此方法? public static int numberMonth(int parseMonth, Boolean leapYear) { int month = 0; if (parseMonth < 1) { month = 0; if (parseMonth < 2) { month =+ 31; if (parseMonth < 3) { if (leapYear) { month =+ 29; } else if(!(leapYear)) { month=+28; if (parseMonth < 4) { month =+ 30; if […]

Java语法解释 – getMenuInflater()

刚刚下载了android studio,我正在使用大书呆子牧场的android编程指南来学习绳索。 当你启动android studio时,这段代码已经在主活动文件中了: @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. **getMenuInflater().inflate(R.menu.menu_quiz, menu);** return true; } 我不明白getMenuInflater行。 在我对java的简短经验中,只有一个对象出现在一个方法之前,当使用一个句点来分隔两个时,例如在dog.bark() 。 这里看起来像线意味着调用在getMenuInflater方法中定义的inflate方法。 但是,我检查了getMenuInflater()的源代码,并且其主体中没有getMenuInflater()方法。 有人可以为我揭开这一行的语法吗?

是否必须在className.java中编写类className?

我正在使用maven构建项目并编译失败,因为我将Test2类放在Test.java , 但它是因为maven还是因为java本身不支持这个? 顺便说一句,我怎么能用eclipse打开一个maven项目?

Java中的Benford定律 – 如何将数学函数转换为Java

我有一个快速的问题。 我试图在java中制作欺诈检测应用程序,该应用程序将主要基于本福德定律。 本福德的定律非常酷,它基本上可以解释为在一个真实的金融交易中,第一个数字通常是1,2或3,很少是8,9。我无法得到本福德公式翻译成可以用Java运行的代码。 http://www.mathpages.com/home/kmath302/kmath302.htm此链接提供了有关本福德法律及其使用方式的更多信息。 我知道我必须使用java数学类才能使用自然日志function,但我不知道该怎么做。 任何帮助将不胜感激。 非常感谢!!

为什么我在这里需要括号? Java:“if(true)int i = 0;”

public class Test{ public void newMethod(){ if(true)int i=0; } } 上面的代码给出了以下错误 Test.java:4: error: ‘.class’ expected if(true)int i=0; ^ 但如果我这样写 public class Test{ public void newMethod(){ if(true){ int i=0; } } } 那就没有错误! 我知道这个问题对社区没有帮助,但我真的很好奇为什么我需要在这个声明中有括号。 我已经用java编程了几年,我刚刚遇到这个错误。 顺便说一句,我正在使用JGrasp。

Java int + =双语法惊喜

我遇到了以下令人惊讶的问题: int x = 7; x += 0.5; 显然是合法的语法! 在添加之后,x仍然是7,因此double被强制转换为int并向下舍入为0,但这在代码中没有任何显式强制转换的情况下完成。 有人对此感到惊讶吗? 这里的理由是什么? 编辑以澄清我的问题:任何人都可以给出这个决定的充分理由吗? 我觉得这是一个需要在其他地方进行显式投射的可怕决定,但是在你默默抛弃数据的语言中有这一点。 我错过了什么吗?