小编Rak*_*oni的帖子

Java Generic类型:List <?之间的区别 extends Number>和List <T extends Number>

Java Generic类型:有什么区别

(1) List <? extends Number>   
(2) List <T extends Number>
Run Code Online (Sandbox Code Playgroud)

按照我的理解

(1)List <? extends Number> 是具有超类"数字"的"未知"数据类型的只读列表.我们只能读取元素但不能添加

(2)List <T extends Number> 超级"数字"的数据类型列表.我们可以读取元素并将其添加到列表中

请参阅下面的代码示例

class TestGen{

    public static void main(String[] args) {
        double result = 0.0;

        List<Integer> intList = new ArrayList<Integer>();
        intList.add(10);
        intList.add(20);
        intList.add(30);

        result = TestGen.sumOfList1(intList);
        System.out.println("Result=" + result);
        result = TestGen.sumOfList2(intList);
        System.out.println("Result=" + result);
    }

    public static double sumOfList1(List<? extends Number> list) {
        double s = 0.0;
        for (Number n : list) …
Run Code Online (Sandbox Code Playgroud)

java

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

从PDF文件中打开新标签页中的链接

我以编程方式创建了PDF文件.为此,我使用了HTML到PDF转换库.在我的PDF中,有一些网站页面的链接.

我已按照以下方式实现了html,然后以编程方式将其转换为PDF.

<a target="_blank" href="http://mywebsite_url_here.html">Link</a>
Run Code Online (Sandbox Code Playgroud)

但是当打开这个PDF到chrome或firefox浏览器并点击PDF中存在的任何链接时.链接打开是相同的TAB而不是新的TAB.请帮助找出解决方案.这样我的PDF就会驻留在一个标签页中,链接将在浏览器的另一个标签页中打开.

我已经尝试过了

target="_blank"

target="_top"

<a onclick="window.open ('http://mywebsite_url_here.html', ''); 
 return false" href="javascript:void(0);"></a>
Run Code Online (Sandbox Code Playgroud)

但没有什么对我有用.

html pdf

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

Eclipse和外部src和web内容文件夹链接或映射

首先,这不是问题,而是我遇到的问题的解决方案,并浪费了4.5小时来找出解决方案.如果有更好的替代方法来管理eclipse项目的外部src文件夹,请告诉我.

我正在使用版本控制系统(GIT)来管理我的项目.还使用外部Git客户端访问存储库(SourceTree)

注意: SVN和tortoise SVN也可以使用相同的场景.

在Eclipse中:当我创建一个动态Web项目时,它还满足"src"和"WebContent"文件夹,而我想使用外部文件夹(我使用Git客户端从Git Repo结账)....我在google上做了很多搜索来映射或链接外部src和WebContent文件夹,但没有找到方法.最后我获得了成功.在这里发布此信息....所以可能对某人有用.

(1)假设您已查看位于"C:\ MyGitRepo \"的内容,其中包含2个文件夹"src"和"WebContent"

(2)在eclipse中创建动态web项目:将源文件夹名称设置为"src2"

源文件夹映射

(3)右键单击项目 - >新建 - >文件夹 - >高级 - >链接到备用位置 - >"C:\ MyGitRepo\src"

(3)右键单击项目 - >新建 - >源文件夹 - >浏览器 - >"src"

(4)删除"Src2"

Web内容文件夹映射

(5)删除现有的"WebContent"文件夹

(6)右键单击项目 - >新建 - >文件夹 - >高级 - >链接到备用位置 - >"C:\ MyGitRepo\WebContent"

(7)项目属性 - >部署程序集 - >添加文件夹 - >下一步 - >选择"WebContent"文件夹

一切正常......意味着工作区中没有src和web内容文件夹,而您正在使用外部文件夹

我们也可以使用eclipse插件这样做但是使用外部客户端(tortoise SVN或source tree)更方便

java eclipse svn git

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

Spring:Multipart表单数据请求:从请求中读取动态参数

我正在使用Spring框架并能够成功上传服务器上的文件.

<form action="upload.do" method="post" enctype="multipart/form-data">
    <input type="text" name="description" />
    <input type="file" name="locationMapFile" />
    ........
    ........
    <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

//控制器层

@RequestMapping(value = "/upload.do", method = {RequestMethod.POST})
public String addEditLocationToCompany(Model model
   ,@RequestParam("description")String desc
   ,@RequestParam(value="locationMapFile", required=false) CommonsMultipartFile locationMapFileData)
{

}
Run Code Online (Sandbox Code Playgroud)

到现在一切都很好.现在我使用javascript在表单上添加一些动态隐藏参数.

注意:根据设置,我定义了动态参数名称及其值

<input type="hidden" name="setting_14" value="abcd"> 
<input type="hidden" name="setting_5" value="xyz"> 
Run Code Online (Sandbox Code Playgroud)

如何将这些动态参数提取到Spring控制器中.

我试过了

(1)我不能使用@RequestParam,因为不想硬编码参数名

(2)request.getParameter():不工作并返回null,因为这是multipart/form-data请求

(3)我使用过这个链接 如何使用JSP/Servlet将文件上传到服务器? 并尝试过

List<FileItem> items = 
       new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
Run Code Online (Sandbox Code Playgroud)

但在spring中,控制器为空.所以无法迭代它并从中获取FileItem.

请帮我找出将动态参数的值放入spring框架的方法.

java spring spring-mvc

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

Java线程锁定静态方法

根据我在Java类中的知识

  1. 非静态同步方法:锁定特定对象的获取
  2. 静态同步方法:锁定类上的获取

我对此有点困惑,因为我们可以通过类名或对象名来调用静态方法.

请假设有4种方法,我的班级都是同步的.2个方法是静态的,2个是非静态的.如果我将创建我的类"obj1"的1个对象,并且还有2个线程Thread1和Thread2

问题1:如果我将尝试使用obj1(或类名)访问静态同步方法.这是否意味着"obj1"没有锁定只会锁定2个静态方法(类级别锁定)?意味着其他线程可以同时使用"obj1"访问非静态方法但不能访问静态方法吗?

问题2:如果我将尝试使用Thread1中的obj1 来访问非静态同步方法.这是否意味着Thread2只锁定了2个方法?表示Thread2可以访问2个静态方法,或者我们可以同时使用className(MyClass)访问静态方法

问题3:如果我班级中的所有方法都是静态的并且是同步的.这是否意味着没有对象级别锁定,并且所有线程只有一个类级别锁定.?

请解释一下关于班级锁定的一点点

提前致谢.

java

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

标签 统计

java ×4

eclipse ×1

git ×1

html ×1

pdf ×1

spring ×1

spring-mvc ×1

svn ×1