小编use*_*323的帖子

java - 抽象类和具体类之间的独特区别

我知道抽象类和具体类之间的差异很小.我知道你不能用具体类创建一个抽象类的实例,抽象类可以有'抽象'方法.

但我有一个像下面这样的例子.很多时候,我们看到以下示例正在起作用.我将跳过一些可以在Parent类中定义的常用方法.

public abstract class Parent {
    public void init() {
       doInit();
    }
    public abstract void doInit();
}

public class Child extends Parent {
    public void doInit() {
       // implementation
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为我们可以用如下的具体类做同样的事情.

public class Parent {
    public void init() {
      doInit();
    }
    public void doInit() {
       // Empty
    }
}
Run Code Online (Sandbox Code Playgroud)

我很想知道是否有任何独特的情况我们必须使用抽象类.运行期间是否与上述示例有任何显着差异?

谢谢.

java

3
推荐指数
1
解决办法
1万
查看次数

java volatile性能问题

可能重复:
易挥发性昂贵?

我听说在多线程应用程序中使用volatile变量会带来一些性能问题.

有人解释原因吗?

java volatile

2
推荐指数
1
解决办法
3658
查看次数

java转换为int

我正在尝试像这样转换为 int,但出现异常。

    String strHexNumber = "0x1";
    int decimalNumber = Integer.parseInt(strHexNumber, 16);
    Exception in thread "main" java.lang.NumberFormatException: For input string: "0x1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:458)
Run Code Online (Sandbox Code Playgroud)

如果有人可以修复它,那将是一个很大的帮助。

谢谢。

java

2
推荐指数
1
解决办法
1666
查看次数

jdbc - 使用commit执行多个语句

我有多个准备好的陈述.我是否需要为每个语句执行'connection.commit'或在最后一个语句后只调用一次?

Connection connection = datasource.getConnect();
connection.setAutoCommit(false);
PreparedStatement pstmt1 = connection.prepareStatement(query1);
pstmt1.executeUpdate();
connection.commit();

PreparedStatement pstmt2 = connection.prepareStatement(query2);
pstmt2.executeUpdate();
connection.commit();

PreparedStatement pstmt3 = connection.prepareStatement(query3);
pstmt3.executeUpdate();
connection.commit();


Or

Connection connection = datasource.getConnect();
connection.setAutoCommit(false);
PreparedStatement pstmt1 = connection.prepareStatement(query1);
pstmt1.executeUpdate();

PreparedStatement pstmt2 = connection.prepareStatement(query2);
pstmt2.executeUpdate();

PreparedStatement pstmt3 = connection.prepareStatement(query3);
pstmt3.executeUpdate();

connection.commit();
Run Code Online (Sandbox Code Playgroud)

谢谢.

jdbc

1
推荐指数
1
解决办法
2968
查看次数

Android - 如何向对话框添加两个文本字段

我正在尝试将文本字段添加到对话框中,但它似乎不起作用......这是我的代码.任何人都可以修复我的代码或给我一些关于如何在对话框中添加两个文本字段的指导吗?

谢谢.

            final EditText input1 = new EditText(this);
        input1.setText("note");
        input1.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                input1.setText("");
            }
        });
        final EditText input2 = new EditText(this);
        input2.setMinLines(1);
        input2.setText("0.0");
        input2.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                input2.setText("");
            }
        });
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(1);
        layout.addView(input1);
        layout.addView(input2);


        return new AlertDialog.Builder(this).
        // code for showing Ok and Cancel button
        .setView(layout).create();
Run Code Online (Sandbox Code Playgroud)

android

0
推荐指数
1
解决办法
4485
查看次数

mysql - 自动递增(如何自动递增5)

可能重复:
mysql auto_increment由5?

我有一个表将有一个需要主键的列.我想将它设置为自动递增,但它应该增加5或10.我一直在搜索它,但很难找到资源.

有谁知道怎么做?

谢谢.

mysql

0
推荐指数
1
解决办法
628
查看次数

java 8 - Arrays.stream().filter过滤掉空字符串并转换为数组

我有一个例子如下.我只想转换由','分隔的字符串,并将其转换为长数组而不使用空字符串.productIdParams包含[1],但是当我执行它时,我得到一个例外.

java.lang上的java.lang.System.arraycopy(Native Method)中的java.lang.ArrayStoreException java.util.stream.Nodes上的java.util.stream.SpinedBuffer.copyInto(SpinedBuffer.java:194).$ SpinedNodeBuilder.copyInto(Nodes.java) :1290)java.util.stream上的java.util.stream.SpinedBuffer.asArray(SpinedBuffer.java:215)java.util.stream.Nodes $ SpinedNodeBuilder.asArray(Nodes.java:1296)java.util.stream.ReferencePipeline.toArray( ReferencePipeline.java:439)

String test = "1,";
String[] productIdParams = Iterables.toArray(com.google.common.base.Splitter.on(",").omitEmptyStrings().split(test), String.class);
try {
    Long[] productIds = Arrays.stream(productIdParams).filter(productId -> !productId.isEmpty()).toArray(Long[]::new);
        System.out.println(productIds[0]);
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

有什么不对?

谢谢.

java collections java-8

0
推荐指数
1
解决办法
1172
查看次数

标签 统计

java ×4

android ×1

collections ×1

java-8 ×1

jdbc ×1

mysql ×1

volatile ×1