小编use*_*955的帖子

为什么返回类型之前的尖括号有时会从泛型方法的定义中省略

我正在阅读关于泛型的Effective Java第5章,特别是关于泛型方法的项目.我注意到有时候返回类型之前的方法声明中的类型参数(在尖括号之间)有时会被省略.有很多这样的情况,但例如在第二版的第135页:

public void popAll(Collection<E> dst) {
while (!isEmpty())
dst.add(pop());
} 
Run Code Online (Sandbox Code Playgroud)

另一方面,我在声明中看到过类似的泛型方法

public <E> void ...
Run Code Online (Sandbox Code Playgroud)

第一个是拼写错误吗?如果不是,我何时可以省略声明中的括号?

谢谢

java generics effective-java

9
推荐指数
2
解决办法
1024
查看次数

每隔5秒在android中拍照

使用相机API,我能够成功拍照并将其保存到文件夹中.这是我正在使用的代码:

main.xml中:

<FrameLayout
        android:id="@+id/camera_preview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" />

    <Button
        android:id="@+id/button_capture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="Capture" />
Run Code Online (Sandbox Code Playgroud)

助手类:

import java.io.IOException;

import android.content.Context;
import android.hardware.Camera;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class CameraPreview extends SurfaceView implements
        SurfaceHolder.Callback {
    private SurfaceHolder mSurfaceHolder;
    private Camera mCamera;

    // Constructor that obtains context and camera
    @SuppressWarnings("deprecation")
    public CameraPreview(Context context, Camera camera) {
        super(context);
        this.mCamera = camera;
        this.mSurfaceHolder = this.getHolder();
        this.mSurfaceHolder.addCallback(this);
        this.mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
    }

    @Override
    public void surfaceCreated(SurfaceHolder surfaceHolder) {
        try {
            mCamera.setPreviewDisplay(surfaceHolder);
            mCamera.setDisplayOrientation(90);
            mCamera.startPreview();
        } catch (IOException e) { …
Run Code Online (Sandbox Code Playgroud)

android android-camera countdowntimer

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

停止和等待算法的Python实现

我正在尝试实现一个停止和等待算法.我在发件人实施超时时遇到问题.在等待来自接收方的ACK时,我正在使用recvfrom()函数.然而,这使程序空闲,我无法按照超时重新传输.

这是我的代码:

import socket

import time

mysocket=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)


while True:


   ACK= " "

    userIn=raw_input()
    if not userIn : break
    mysocket.sendto(userIn, ('127.0.0.01', 88))     
    ACK, address = mysocket.recvfrom(1024)    #the prog. is idle waiting for ACK
    future=time.time()+0.5   
    while True:
            if time.time() > future:
                    mysocket.sendto(userIn, ('127.0.0.01', 88))
                    future=time.time()+0.5
            if (ACK!=" "):
                    print ACK
                    break 
mysocket.close()
Run Code Online (Sandbox Code Playgroud)

python implementation for-loop wait

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

在数据库中保存类实例

如果我有一个具有两个字段Name(String)和ID(整数)的person类,我如何在数据库中保存此类的实例?是否可以定义新的数据类型Person?或者我是否需要在包含列名称,ID的数据库中一个接一个地保存字段?而对于第二种情况,下面的代码是适当的方法吗?

Connection con = DriverManager.getConnection(
                         "jdbc:myDriver:myDatabase",
                         username,
                         password);
Person P1;

Statement stmt = con.createStatement();
stmt.execute("INSERT INTO TABLE VALUES ("+ P1.Name ", " + P1.ID ")");
Run Code Online (Sandbox Code Playgroud)

java

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