在Java中使用short,int,long,double,float进行转换

据我所知,当您使用Java中的算术运算在两个这些类型之间进行转换时,例如double + int,结果将是更大的类型(在本示例中,结果将是double)。 在对相同大小的2种类型进行算术运算时会发生什么? int + float和long + double会给出什么? 因为int和float每个都是4个字节,而long和double是8个字节。

Liferay访问主题中的DB表:没有定义名为’com.colors.themes.service.ColorLocalService’的bean

我在liferay中有一个主题项目。 我在我的liferay MySQL数据库中创建了一个名为colors的新表。 颜色表如下 实际上我要求一个特定的css文件应该根据状态为true的颜色表值加载到主题中,我的速度模板应该有点像下面所示 #set ($myColorService = $serviceLocator.findService(“com.colors.themes.service.ColorLocalService”)) #set ($myColor = $myColorService.fetchActiveColor()) #if ($myColor == “blue”) #elseif ($myColor == “orange”) #else 以下是我到目前为止所做的一些事情 我为colors表创建了一个服务构建器项目(theme_service-portlet)。 service.xml如下所示 user theme 构建服务并在lib文件夹下生成jar( theme_service-portlet-service.jar )。 复制theme_service-portlet-service.jar并放在liferay-portal-6.2-ce-ga2\tomcat-7.0.42\lib\ext文件夹下。 在portal_normal.vm我使用了以下代码: #set ($myColorService = $serviceLocator.findService(“com.colors.themes.service.ColorLocalService”)) #set ($myColor = $myColorService.fetchActiveColor()) #if ($myColor == “blue”) #elseif ($myColor == “orange”) #else 重启tomcat服务器 但我得到以下例外 04:44:55,896 ERROR [http-bio-8080-exec-3][ServiceLocator:39] com.liferay.portal.kernel.bean.BeanLocatorException: […]

什么是Hibernate的MariaDB方言类名?

在Hibenate我正在使用MariaDB,但我找不到MariaDB的方言类名。 在Hibernate中,MySQL5方言的名字是 org.hibernate.dialect.MySQL5Dialect 对于Oracle 10g org.hibernate.dialect.Oracle10gDialect MariaDB的方言类名是什么?

Spring MVC @RequestParams

这是url: https : //192.168.33.10/openmrs/ws/rest/v1/bahmnicore/bahmniencounter/search? includeAll = false & patientUuid = 210d0739-7937-4fb7-8f53-752f393cb4b7 & visitUuid = c1c26908-3f10-11e4-adec- 0800271c1b75 它登陆Spring MVC的控制器方法 – @RequestMapping(method = RequestMethod.GET, value = “search”) @ResponseBody public List search(@RequestParam(“patientUuid”) String patientUuid, @RequestParam(value = “fromDate”, required = false) String date, String visitUuid) throws Exception { if (visitUuid != null) { return bahmniDiagnosisService.getBahmniDiagnosisByPatientAndVisit(patientUuid, visitUuid); } else { […]

更改活动会阻止ImageButton setImageResource工作

我有一个主要活动,每次点击都会改变ImageButton上的图像。 public class MainActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); static ImageButton mGetClickTime; mGetClickTime.setOnClickListener(new View.OnClickListener() { mUpdateBackground(); } } } public static void mUpdateBackground() { int[] imageIds = { R.drawable.bg1, R.drawable.bg2, R.drawable.bg3, R.drawable.bg4, }; Random generator = new Random(); randomImageId = imageIds[generator.nextInt(imageIds.length)]; mGetClickTime.setImageResource(randomImageId); } 这很好用,直到单击菜单按钮并访问另一个活动 public class settings extends MainActivity{ @Override […]

队列使用Java中的链表实现

我很快用Java编写了一个链表类。 我想编写另一个使用链表的队列类。 我如何用Java实现这一目标? 我不完全理解implements / extends关键字……这就是我的队列的样子(例如): public class Queue implements LinkedList { protected LinkedList list; public Queue() { list = new LinkedList(); } public void add( T element) { list.add( element); } public T removeLast() { return list.removeLast(); } } 另请注意,链表类也是通用的。 我知道已经内置了类来实现这个function,但是我想学习(这就是为什么我要手动执行此操作) 编辑:此外,最后,我希望能够说出这样的话: Queue aQueue = new LinkedList();

Java Micro Edition(J2ME) – 使用recordstore枚举更新记录

我有一个记录存储的项目(名称,数量,所有者,状态) 现在,当用户触发事件时,我想用“已购买”设置我的RecordStore中所有项目的状态 re = shoppingListStore.enumerateRecords(null, null, false); while (re.hasNextElement()) { // read current values of item byte [] itemRecord = re.nextRecord(); // deserialise byte array newItemObject.fromByteArray(itemRecord); // set item status to purchased newItemObject.setItemStatus(“Purchased”); // create new bytearray and call newitemobject . tobytearray // method to return a byte array of the objects // (using UTF8 […]

在克隆中使用协变返回类型真的会破坏兼容性吗?

我最近遇到过为什么Java 5+ API没有利用协变返回类型? 。 我同意这个问题,在Java 5中,JDK开发人员可以使用协变返回类型进行克隆并更改现有类,以便我们可以编写 ArrayList list = new ArrayList(); ArrayList clone = list.clone(); 代替 ArrayList clone = (ArrayList)list.clone(); 但由于某些原因,没有那样做。 我做了一些实验来改变我的test.ArrayList.clone返回类型从Object到ArrayList,看看“以前编译的类无法找到具有新返回类型的方法”,但无法重现问题。 在字节码中,对旧test.ArrayList.clone的调用看起来像 INVOKEVIRTUAL test.ArrayList.clone()Ljava/lang/Object; 也就是说,方法签名包含返回类型,因此在我将其签名更改为test.ArrayList.clone()Ltest.ArrayList 。 所以似乎老类会破坏,但实际上并不是因为test.ArrayList.class中有2个克隆方法 public clone()Ltest.ArrayList; public bridge clone()Ljava/lang/Object; 第二个是桥梁,它只是调用协变版本 … INVOKEVIRTUAL ArrayList.clone()Ltest.ArrayList; … 所以旧class继续工作没有问题。 任何人都可以解释更改克隆的返回类型如何破坏字节码?

使用Solr CELL的ExtractingRequestHandler从包格式索引/提取文件

你可以使用ExtractingRequestHandler和Tika与任何压缩文件格式(zip,tar,gz等)来提取内容以进行索引吗? 我正在使用curl发送solived archived.tar文件。 curl“ http:// localhost:8983 / solr / update / extract?literal.id = doc1&fmap.content = body_texts&commit = true ” -H’Content -type:application / octet-stream’ – data-binary“@ / home /archived.tar“我查询文档时得到的结果是归档中的文件名被索引为”body_texts“,但这些文件的内容未被提取或包含。 这不是我预期的行为。 参考: http : //www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Content-Extraction-Tika#article.tika.example 。 当我使用相同的curl命令在存档中发送1个实际文档时,提取的内容然后存储在“body_texts”字段中。 我错过了压缩文件的步骤吗? 我在http://outoftime.lighthouseapp.com/projects/20339/tickets/98-solr-cell中添加了所有提取依赖项,如mat所示,并且能够成功从MS Word,PDF,HTML文档中提取数据。 我正在使用以下库版本。 Solr 1.40,Solr Cell 1.4.1,Tika Core 0.4 鉴于我所读到的所有内容,此版本的Tika应支持从压缩文件中的所有文件中提取数据。 任何帮助或建议将不胜感激。

在Java中向线程池中添加新任务之前等待任务完成的最佳方法?

我想使用类似ThreadPoolExecutor的东西来管理在可用线程上运行一堆任务。 这些任务都是相同的类型,但处理不同的帐户。 这些帐户的新任务可以定期添加,我希望它能够检查并且不允许新任务开始,直到同一帐户的旧任务已经完成。 最好的方法是什么? 例 帐户“234”的任务已启动(通过ThreadPoolExecutor.execute()) 帐户“238”的任务已启动(通过ThreadPoolExecutor.execute()) 帐户“234”的新任务已创建但未添加执行,因为第一个“234”任务未完成(检查此问题的最佳方法是什么?) 帐户“238”的任务完成 帐户“238”的新任务启动(通过ThreadPoolExecutor.execute()),因为当前没有为该帐户运行 最好的方法是什么? 只需要在等待/睡眠()中检查Runnable中的某些检查变量,以便完成“234”的第一个任务吗? 或者有更好的解决方案吗?