I need to pass a series of Class type arguments with associated callbacks to a method without defining additional classes or interfaces.   I tried something like:  void foo(Map&lt;Class, Function&gt; callbacks){     for(Class clazz : callbacks.keySet()){         if(!(callbacks.get(clazz) instanceof Function&lt;clazz, clazz&gt;)){             System.out.println("callback type mismatch");         }     }     //(own logic) }   or  void foo(List&lt;&lt;T&gt;Map&lt;Class&lt;T&gt;, Function&lt;T, T&gt;&gt;&gt; callbacks){     ... }   which is erroneous. Any ideas how to overcome this issue (or why it is not possible without additional classes)?
Is there a way in Java to have a map where the type parameter of a value is tied to the type parameter of a key? What I want to write is something like the following:  public class Foo {     // This declaration won't compile - what should it be?     private static Map&lt;Class&lt;T&gt;, T&gt; defaultValues;      // These two methods are just fine     public static &lt;T&gt; void setDefaultValue(Class&lt;T&gt; clazz, T value) {         defaultValues.put(clazz, value);     }      public static &lt;T&gt; T getDefaultValue(Class&lt;T&gt; clazz) {         return defaultValues.get(clazz);     } }   That is, I can store any default value against a Class object, provided the value's type matches that of the Class object. I don't see why this shouldn't be allowed since I can ensure when setting/getting values that the types are correct.  EDIT: Thanks to cletus for his answer. I don't actually need the type parameters on the map itself since I can ensure consistency in the methods which get/set values, even if it means using some slightly ugly casts.
My mom and I are having a dispute on much more easy versus much easier. For example, consider the sentence:     It's [much more easy]/[much easier] to do action X than action Y.   I say that much easier is correct and that much more easy is grammatically incorrect, while she says that both are okay. I understand that both are acceptable colloquially, but which is grammatically correct here? If you could explain why, that would be even better! Is it still bad to use swap on a modern SSD? I have a Samsung 960 Pro SSD with Ubuntu 18.04  is it safe to put the swap file on there or would it hurt it in the long run,  I heard some people saying that new SSDs don't suffer from that issue anymore, is this true? Parametric Interpolation of 2D data EM wave generation from different frames of reference I have a question about notation specifically square brackets $[$ and round brackets $($.  My textbook doesn't explain any of this and I cannot find a reliable source online to confirm the difference.  So my question is: What is the difference between round brackets and square brackets in terms of notation in Field Theory? For example, I see $F(x)$ and $F[x]$ in my textbook and I've always assumed they were the same thing. But apparently they're not. Is there ever a time they're the same?  I wanted to know the difference, it may be a silly question but it's something I want to make sure I understand. Probability of winning the game "1-2-3" Using Chrome's Element Inspector in Print Preview Mode? Execute script after specific delay using JavaScript Is there any JavaScript method similar to the jQuery delay() or wait() (to delay the execution of a script for a specific amount of time)? Does SE have a social life/relationships questions site AngularJS leaves comments in HTML: is it possible to remove them? TSA requirements regarding ID If the name on my boarding pass lists Debbie and my Drivers License lists Debra, will this be a problem? Adding materials to more than one object Note: the eventual outcome of this discussion involved dropping this particular off-topic reason, along with other changes. See:  &nbsp; &mdash;Shog     I was using the reason "demonstrate a minimal understanding" myself quite frequently, but the more I review, the more I have doubts about it and I think this reason can either be dropped entirely or at least rephrased, so I started to use "problems with code you've written must describe the specific problem" instead:     Questions asking for code must demonstrate a minimal understanding of the problem being solved.   So the poster has posted some description, maybe even a snippet of code and in his mind that already proves that he has that minimal understanding required. After all he described the problem and what he tried to solve. So telling him that he lacks that understanding is rather rude, and from the posters point of view doesn't even apply. What both version of the reason not emphasize is that a description of a problem is not various versions of     it doesn't work   but that we rather mean really specific details (see below). I can often see in the reopen review queue that the "improved" version just includes a more verbatim description, while what usually would be expected is some specific error message, a trace or a log, or whatever applies.  Then it continues with:     Include attempted solutions, why they didn't work, and the expected results. See also: Stack Overflow question checklist   comparing it to:     problems with code you've written must describe the specific problem — and include valid code to reproduce it — in the question itself. See SSCCE.org for guidance.   Which says essentially the same, only in more detail.   So the "minimum understanding" reason is IMO a more rude version of the reason telling the user that an SSCCE is missing.  The intent of giving this reason is to tell the user that he needs to give exact details to be able to help him, so IMO a checklist would be much better. Something like:     Your question was closed because it may not provide enough details. Things you can do to improve your question to get an answer include:         Format the code in a way that makes it readable and easily understandable.   Provide the smallest working sample of code demonstrating the problem (link to SSCCE)   Include your input and output.   If applicable provide logs (i.e. Android debugging log, stack trace, etc.).   If applicable provide the exact error messages (compiler, etc.).      And something like this should be best included already in the banner that appears when a question is closed instead of being hidden in some pages you often enough have to actively looking for.  It might be helpful to adjust this, based on the tags or close reason, as I realize that I'm more focused on the programming area, and the above list may not apply to other areas of SO.  Update  Another thing I forgot to mention (but wanted to) is this:     Questions asking for code   Is IMO essentially an invitation of the type of questions     I have a problem, can you provide the solution? (with an optional please)   while     Questions concerning problems with code you've written   puts at least some emphasis on the fact that the poster has to put some effort himself in trying to solve the problem by providing the code which he used to attempt the solution. I want to initialize a struct element, split in declaration and initialization. This is what I have:  typedef struct MY_TYPE {   bool flag;   short int value;   double stuff; } MY_TYPE;  void function(void) {   MY_TYPE a;   ...   a = { true, 15, 0.123 } }   Is this the way to declare and initialize a local variable of MY_TYPE in accordance with C programming language standards (C89, C90, C99, C11, etc.)? Or is there anything better or at least working?  Update I ended up having a static initialization element where I set every subelement according to my needs. prove that $\operatorname{lcm}(n,m) = nm/\gcd(n,m)$ I'm trying to prove that $\operatorname{lcm}(n,m) = nm/\gcd(n,m)$ I showed that both $n,m$ divides $nm/\gcd(n,m)$  but I can't prove that it is the smallest number.  Any help will be appreciated. Allow embedded HTML5 YouTube video I have a small issue with my Ubuntu (I think After an upgarde). When I try to login (Login Screen), I get disconnected and get back to the screen (again &amp; again).  I tried:   Trying to login with others Desktop environements. Booting from old kernel. log in via command line [apt-get update &amp;&amp; apt-get upgrade]. removing ~/.gconf directory. sudo apt-get install --reinstall ubuntu-desktop and sudo apt-get install unity   None of these solutions worked. I have seen some users show a picture of their network profile on the profile tab. How can I add this for my own account? Suppose I wanted to travel to one of the recently discovered potentially Earth-like planets such as Kepler 186f that is 490 light years away. Assuming I had a powerful rocket and enough fuel, how long would it take me? How does one manually restart graphics drivers? I'm suffering from the dreaded . The problem is intermittent and can be "solved" by putting the computer to sleep or restarting it. I hope simply restarting the graphics drivers will remove the symptoms of the problem.  would seem to indicate that restarting the graphics drivers is possible in Windows 7. My question is: how?