正如我们所知道的,在java1.8中,接口中允许静态方法,我看到了一些答案,比如
但我不满意。
此外,我认为这可能会引起以下问题:
public interface MyInterface{
public static void myMethod();
}
class MyClass{
MyInterface.myMethod(); // since myMethod is static but a huge error is waiting for us here ?
}
但是我仍然认为有办法解决这个问题,因为这是由专业人员添加的,所以谁能解释一下是
所以,我是Java的新手,据我所知,这两件事是一样的:
public class HelloWorld {
public void test(String test) {
System.out.println(test);
}
public static void main(String args[]) {
HelloWorld helloworld = new HelloWorld();
helloworld.test("Hello world!");
}
}
和
public class Hel
我删除重复数字的方法是有效的,但如果一个数字出现超过两次,则无效。例如,当使用该方法时,数字为1,2,2,3,4,5,6,7,7,8,9的列表给出了列表1,2,3,4,5,6,7,7,8,9。
import java.util.*;
public class final SortAndRemove{
private SortAndRemove(){
}
public static void selectionSort(List<Integer> a){
if(a == null)
return;
if (a.size() == 0 ||
我从apache-commons-3扩展了类,以添加我自己的实用程序函数,这些函数在它们中不可用。例如:
public class CollectionUtils extends org.apache.commons.collections.CollectionUtils
{
/**
* Similar to collection.contains(member) except just doesn't throw NPE when set is null, simply returns false
* @param collection
我想要创建一个实用程序类,它将执行一些简单的计算。对于这样做,我想知道最佳实践。
一个选项是创建类并将self作为第一个变量传递,然后实例化类。
class Sample:
def add(self, a, b):
return a + b
foo = Sample()
foo.add(1, 1)
另一个选项是将方法创建为静态方法。
class Sample:
@staticmethod
def add(a, b):
return a + b
Sample.add(1, 1)
哪一种是最佳做法?
我想知道是否有一个只有一个方法的静态实用程序类是一个好做法。
该方法需要在整个应用程序域中使用,如下所示:
public final class SomeClass {
private SomeClass () {}
public static int makeSpecificCalculation(int x, int y) {
//...
}
}
这是一个只有一个实用程序的实用程序类的最佳实践吗?或者,我是否应该给它自己的实例类,即使它永远不会超过这一点?
我有一个在项目中共享的配置类:
public class BarcodeConfig
{
public string LotStandardDigits { get; set; }
public string LotOldStandardDigits { get; set; }
public int LotOldNumofDigits { get; set; }
public int LotStandardNumofDigits { get; set; }
}
在我的主类实现中,我有两个类。一个static (用于实用程序),另一个包含我想要的所有逻辑:
pub
在启动活动时,我创建并调用线程:
new Thread (new Connect()).start();
Thread t = new Thread() {
@Override
public void run() {
try {
//check if connected!
while (!Connect.logged) {//logged is boolean
Thread.sleep(1000);
}
} catch (Exception
我们知道我们不能在java接口中实现函数。
我刚试过
public interface InvoiceService {
public static void getData(){
System.out.print("this is my data");
}
}
我可以执行这个函数,为什么会这样呢?这是因为函数被定义为static,static variables可以直接使用类名访问,而不需要创建对象?
我有一些功能,比如:
接受字符串上的输入并修改和返回以字符串(包含XML)作为输入的stringFunction,并解析它并返回对象的。
例如:
public class MyUtils{
public static modifyString(String str){
return someString;
}
public MyObject parseString(String xml){
//Parse XML
return obj;
}
}
可以使这些函数是静态的,这样任何人都可以在不创建类实例的情况下使用
我知道静态方法对接口是不正确的(请参阅:),但遇到的情况是,我有一个对象来实现接口的所有方法,其中所有方法都可以是静态的,所以我认为我一定是在错误地设计。
问题是,我看不出有什么别的办法
我的接口IDataSerializer是由几个类实现的。所有这些类都实现相同的函数,没有任何“状态数据”(成员等),但最终都会输出相同类型的对象。
例如,XML类:
public class MyXmlSerializer : IDataSerializer
{
public string SerializeFoo(object foo)
{
// uses .Net XML
由于我们的客户机仍然使用Java.Date.Util,我们不得不处理各种转换方法和一个庞大的日期实用程序类。我的目标是简化Utility并为它编写单元测试。
我设法简化了它,但是我遇到了测试用例的问题,因为:
作为一个实用工具类,这些方法是静态的,因此在将其转换为所请求的格式之前,使用Java.Time.Clock.Several的帮助器方法不需要依赖注入。很明显这使得写作单元测试..。问题。
下面是一些我需要为之编写测试用例的方法的例子:
/**
* Get the current time in any format.
* @param outFormat